/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-34549b5 [2022-04-08 12:18:05,490 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 12:18:05,491 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 12:18:05,512 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 12:18:05,513 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 12:18:05,513 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 12:18:05,514 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 12:18:05,520 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 12:18:05,521 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 12:18:05,522 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 12:18:05,522 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 12:18:05,523 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 12:18:05,523 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 12:18:05,524 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 12:18:05,524 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 12:18:05,525 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 12:18:05,525 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 12:18:05,526 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 12:18:05,527 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 12:18:05,528 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 12:18:05,529 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 12:18:05,537 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 12:18:05,538 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 12:18:05,538 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 12:18:05,539 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 12:18:05,541 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 12:18:05,541 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 12:18:05,541 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 12:18:05,541 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 12:18:05,542 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 12:18:05,542 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 12:18:05,542 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 12:18:05,543 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 12:18:05,543 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 12:18:05,544 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 12:18:05,544 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 12:18:05,545 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 12:18:05,545 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 12:18:05,545 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 12:18:05,545 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 12:18:05,546 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 12:18:05,553 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 12:18:05,553 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-08 12:18:05,563 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 12:18:05,564 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 12:18:05,565 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 12:18:05,565 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 12:18:05,565 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 12:18:05,565 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 12:18:05,565 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 12:18:05,565 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 12:18:05,565 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 12:18:05,566 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 12:18:05,566 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 12:18:05,566 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 12:18:05,566 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 12:18:05,566 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 12:18:05,566 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 12:18:05,566 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 12:18:05,566 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 12:18:05,566 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 12:18:05,567 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 12:18:05,567 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 12:18:05,567 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 12:18:05,567 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 12:18:05,567 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-08 12:18:05,756 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 12:18:05,774 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 12:18:05,775 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 12:18:05,776 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 12:18:05,776 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 12:18:05,777 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound1.c [2022-04-08 12:18:05,816 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/dfe7d34f0/2c02d0a2c2ac45eea9d3033c1d90322d/FLAGf743deb90 [2022-04-08 12:18:06,170 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 12:18:06,171 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound1.c [2022-04-08 12:18:06,175 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/dfe7d34f0/2c02d0a2c2ac45eea9d3033c1d90322d/FLAGf743deb90 [2022-04-08 12:18:06,187 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/dfe7d34f0/2c02d0a2c2ac45eea9d3033c1d90322d [2022-04-08 12:18:06,188 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 12:18:06,189 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 12:18:06,191 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 12:18:06,192 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 12:18:06,194 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 12:18:06,198 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 12:18:06" (1/1) ... [2022-04-08 12:18:06,199 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@766479de and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:18:06, skipping insertion in model container [2022-04-08 12:18:06,199 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 12:18:06" (1/1) ... [2022-04-08 12:18:06,204 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 12:18:06,215 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 12:18:06,348 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound1.c[490,503] [2022-04-08 12:18:06,381 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 12:18:06,387 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 12:18:06,397 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound1.c[490,503] [2022-04-08 12:18:06,418 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 12:18:06,426 INFO L208 MainTranslator]: Completed translation [2022-04-08 12:18:06,426 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:18:06 WrapperNode [2022-04-08 12:18:06,426 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 12:18:06,428 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 12:18:06,428 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 12:18:06,428 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 12:18:06,435 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:18:06" (1/1) ... [2022-04-08 12:18:06,436 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:18:06" (1/1) ... [2022-04-08 12:18:06,446 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:18:06" (1/1) ... [2022-04-08 12:18:06,446 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:18:06" (1/1) ... [2022-04-08 12:18:06,461 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:18:06" (1/1) ... [2022-04-08 12:18:06,464 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:18:06" (1/1) ... [2022-04-08 12:18:06,465 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:18:06" (1/1) ... [2022-04-08 12:18:06,466 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 12:18:06,466 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 12:18:06,466 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 12:18:06,466 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 12:18:06,468 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:18:06" (1/1) ... [2022-04-08 12:18:06,473 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 12:18:06,479 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:18:06,488 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-08 12:18:06,511 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-08 12:18:06,519 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 12:18:06,519 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 12:18:06,519 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 12:18:06,519 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 12:18:06,520 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 12:18:06,520 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 12:18:06,520 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 12:18:06,520 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 12:18:06,520 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 12:18:06,521 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 12:18:06,521 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 12:18:06,521 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 12:18:06,521 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 12:18:06,521 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 12:18:06,522 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 12:18:06,523 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 12:18:06,523 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 12:18:06,523 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 12:18:06,523 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 12:18:06,523 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 12:18:06,575 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 12:18:06,576 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 12:18:06,704 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 12:18:06,708 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 12:18:06,709 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-08 12:18:06,710 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 12:18:06 BoogieIcfgContainer [2022-04-08 12:18:06,710 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 12:18:06,711 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 12:18:06,711 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 12:18:06,713 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 12:18:06,713 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 12:18:06" (1/3) ... [2022-04-08 12:18:06,714 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@16f458ca and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 12:18:06, skipping insertion in model container [2022-04-08 12:18:06,714 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:18:06" (2/3) ... [2022-04-08 12:18:06,714 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@16f458ca and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 12:18:06, skipping insertion in model container [2022-04-08 12:18:06,714 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 12:18:06" (3/3) ... [2022-04-08 12:18:06,715 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd2-ll_valuebound1.c [2022-04-08 12:18:06,717 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 12:18:06,718 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 12:18:06,742 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 12:18:06,746 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 12:18:06,746 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 12:18:06,757 INFO L276 IsEmpty]: Start isEmpty. Operand has 40 states, 20 states have (on average 1.45) internal successors, (29), 22 states have internal predecessors, (29), 14 states have call successors, (14), 4 states have call predecessors, (14), 4 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 12:18:06,762 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-08 12:18:06,762 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:18:06,763 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:18:06,763 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:18:06,766 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:18:06,766 INFO L85 PathProgramCache]: Analyzing trace with hash -587582002, now seen corresponding path program 1 times [2022-04-08 12:18:06,770 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:18:06,771 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1574197312] [2022-04-08 12:18:06,777 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:18:06,777 INFO L85 PathProgramCache]: Analyzing trace with hash -587582002, now seen corresponding path program 2 times [2022-04-08 12:18:06,779 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:18:06,780 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [328815122] [2022-04-08 12:18:06,780 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:18:06,780 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:18:06,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:18:06,956 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 12:18:06,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:18:06,980 INFO L290 TraceCheckUtils]: 0: Hoare triple {72#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-08 12:18:06,980 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-08 12:18:06,981 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #103#return; {43#true} is VALID [2022-04-08 12:18:06,981 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 12:18:06,988 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:18:06,997 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:18:06,998 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:18:06,998 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:18:06,998 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #79#return; {44#false} is VALID [2022-04-08 12:18:06,999 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 12:18:07,003 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:18:07,007 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:18:07,008 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:18:07,008 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:18:07,008 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #81#return; {44#false} is VALID [2022-04-08 12:18:07,008 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 12:18:07,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:18:07,019 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:18:07,019 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:18:07,019 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:18:07,019 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #83#return; {44#false} is VALID [2022-04-08 12:18:07,020 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 12:18:07,021 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:18:07,028 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:18:07,032 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:18:07,032 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:18:07,033 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #85#return; {44#false} is VALID [2022-04-08 12:18:07,033 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-08 12:18:07,034 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:18:07,040 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:18:07,040 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:18:07,040 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:18:07,041 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #87#return; {44#false} is VALID [2022-04-08 12:18:07,041 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 33 [2022-04-08 12:18:07,042 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:18:07,050 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:18:07,050 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:18:07,050 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:18:07,051 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #89#return; {44#false} is VALID [2022-04-08 12:18:07,051 INFO L272 TraceCheckUtils]: 0: Hoare triple {43#true} call ULTIMATE.init(); {72#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 12:18:07,052 INFO L290 TraceCheckUtils]: 1: Hoare triple {72#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-08 12:18:07,052 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-08 12:18:07,052 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #103#return; {43#true} is VALID [2022-04-08 12:18:07,052 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-08 12:18:07,052 INFO L290 TraceCheckUtils]: 5: Hoare triple {43#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {43#true} is VALID [2022-04-08 12:18:07,053 INFO L272 TraceCheckUtils]: 6: Hoare triple {43#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {43#true} is VALID [2022-04-08 12:18:07,053 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:18:07,054 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:18:07,054 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:18:07,055 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #79#return; {44#false} is VALID [2022-04-08 12:18:07,055 INFO L290 TraceCheckUtils]: 11: Hoare triple {44#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {44#false} is VALID [2022-04-08 12:18:07,055 INFO L272 TraceCheckUtils]: 12: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {43#true} is VALID [2022-04-08 12:18:07,055 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:18:07,056 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:18:07,057 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:18:07,057 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #81#return; {44#false} is VALID [2022-04-08 12:18:07,058 INFO L272 TraceCheckUtils]: 17: Hoare triple {44#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-08 12:18:07,058 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:18:07,058 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:18:07,058 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:18:07,060 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #83#return; {44#false} is VALID [2022-04-08 12:18:07,061 INFO L272 TraceCheckUtils]: 22: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-08 12:18:07,061 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:18:07,061 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:18:07,061 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:18:07,062 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #85#return; {44#false} is VALID [2022-04-08 12:18:07,062 INFO L290 TraceCheckUtils]: 27: Hoare triple {44#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {44#false} is VALID [2022-04-08 12:18:07,062 INFO L272 TraceCheckUtils]: 28: Hoare triple {44#false} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {43#true} is VALID [2022-04-08 12:18:07,062 INFO L290 TraceCheckUtils]: 29: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:18:07,063 INFO L290 TraceCheckUtils]: 30: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:18:07,063 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:18:07,063 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {44#false} {44#false} #87#return; {44#false} is VALID [2022-04-08 12:18:07,064 INFO L272 TraceCheckUtils]: 33: Hoare triple {44#false} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {43#true} is VALID [2022-04-08 12:18:07,064 INFO L290 TraceCheckUtils]: 34: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:18:07,064 INFO L290 TraceCheckUtils]: 35: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:18:07,064 INFO L290 TraceCheckUtils]: 36: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:18:07,065 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {44#false} {44#false} #89#return; {44#false} is VALID [2022-04-08 12:18:07,065 INFO L290 TraceCheckUtils]: 38: Hoare triple {44#false} assume !true; {44#false} is VALID [2022-04-08 12:18:07,065 INFO L272 TraceCheckUtils]: 39: Hoare triple {44#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {44#false} is VALID [2022-04-08 12:18:07,065 INFO L290 TraceCheckUtils]: 40: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-08 12:18:07,066 INFO L290 TraceCheckUtils]: 41: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-08 12:18:07,066 INFO L290 TraceCheckUtils]: 42: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-08 12:18:07,069 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-08 12:18:07,070 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:18:07,070 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [328815122] [2022-04-08 12:18:07,071 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [328815122] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:18:07,071 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:18:07,071 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 12:18:07,073 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:18:07,073 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1574197312] [2022-04-08 12:18:07,073 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1574197312] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:18:07,073 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:18:07,073 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 12:18:07,075 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1211505305] [2022-04-08 12:18:07,075 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:18:07,079 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-08 12:18:07,080 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:18:07,082 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:18:07,121 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:18:07,121 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 12:18:07,121 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:18:07,141 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 12:18:07,141 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 12:18:07,143 INFO L87 Difference]: Start difference. First operand has 40 states, 20 states have (on average 1.45) internal successors, (29), 22 states have internal predecessors, (29), 14 states have call successors, (14), 4 states have call predecessors, (14), 4 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:18:07,329 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:18:07,329 INFO L93 Difference]: Finished difference Result 73 states and 118 transitions. [2022-04-08 12:18:07,329 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 12:18:07,330 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-08 12:18:07,330 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:18:07,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:18:07,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 118 transitions. [2022-04-08 12:18:07,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:18:07,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 118 transitions. [2022-04-08 12:18:07,346 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 118 transitions. [2022-04-08 12:18:07,471 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:18:07,477 INFO L225 Difference]: With dead ends: 73 [2022-04-08 12:18:07,478 INFO L226 Difference]: Without dead ends: 35 [2022-04-08 12:18:07,487 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 12:18:07,490 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 14 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:18:07,492 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.1s Time] [2022-04-08 12:18:07,502 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-08 12:18:07,521 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-08 12:18:07,521 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:18:07,522 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 12:18:07,524 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 12:18:07,524 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 12:18:07,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:18:07,534 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-08 12:18:07,534 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-08 12:18:07,535 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:18:07,535 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:18:07,535 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 35 states. [2022-04-08 12:18:07,536 INFO L87 Difference]: Start difference. First operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 35 states. [2022-04-08 12:18:07,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:18:07,548 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-08 12:18:07,548 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-08 12:18:07,549 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:18:07,549 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:18:07,549 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:18:07,549 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:18:07,549 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 12:18:07,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 46 transitions. [2022-04-08 12:18:07,552 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 46 transitions. Word has length 43 [2022-04-08 12:18:07,552 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:18:07,552 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 46 transitions. [2022-04-08 12:18:07,553 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:18:07,553 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 46 transitions. [2022-04-08 12:18:07,599 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:18:07,600 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-08 12:18:07,607 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 12:18:07,607 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:18:07,607 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:18:07,607 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 12:18:07,607 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:18:07,609 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:18:07,609 INFO L85 PathProgramCache]: Analyzing trace with hash 987777007, now seen corresponding path program 1 times [2022-04-08 12:18:07,609 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:18:07,609 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [70334538] [2022-04-08 12:18:07,612 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:18:07,612 INFO L85 PathProgramCache]: Analyzing trace with hash 987777007, now seen corresponding path program 2 times [2022-04-08 12:18:07,613 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:18:07,613 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [75441642] [2022-04-08 12:18:07,613 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:18:07,613 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:18:07,664 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:18:07,664 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1366887019] [2022-04-08 12:18:07,664 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:18:07,664 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:18:07,665 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:18:07,666 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:18:07,667 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-08 12:18:07,713 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:18:07,714 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:18:07,715 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 12:18:07,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:18:07,758 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:18:07,934 INFO L272 TraceCheckUtils]: 0: Hoare triple {361#true} call ULTIMATE.init(); {361#true} is VALID [2022-04-08 12:18:07,934 INFO L290 TraceCheckUtils]: 1: Hoare triple {361#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {361#true} is VALID [2022-04-08 12:18:07,935 INFO L290 TraceCheckUtils]: 2: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:18:07,935 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {361#true} {361#true} #103#return; {361#true} is VALID [2022-04-08 12:18:07,935 INFO L272 TraceCheckUtils]: 4: Hoare triple {361#true} call #t~ret6 := main(); {361#true} is VALID [2022-04-08 12:18:07,935 INFO L290 TraceCheckUtils]: 5: Hoare triple {361#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {361#true} is VALID [2022-04-08 12:18:07,935 INFO L272 TraceCheckUtils]: 6: Hoare triple {361#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {361#true} is VALID [2022-04-08 12:18:07,935 INFO L290 TraceCheckUtils]: 7: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:18:07,936 INFO L290 TraceCheckUtils]: 8: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:18:07,936 INFO L290 TraceCheckUtils]: 9: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:18:07,936 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {361#true} {361#true} #79#return; {361#true} is VALID [2022-04-08 12:18:07,936 INFO L290 TraceCheckUtils]: 11: Hoare triple {361#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {361#true} is VALID [2022-04-08 12:18:07,936 INFO L272 TraceCheckUtils]: 12: Hoare triple {361#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {361#true} is VALID [2022-04-08 12:18:07,936 INFO L290 TraceCheckUtils]: 13: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:18:07,937 INFO L290 TraceCheckUtils]: 14: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:18:07,937 INFO L290 TraceCheckUtils]: 15: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:18:07,937 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {361#true} {361#true} #81#return; {361#true} is VALID [2022-04-08 12:18:07,937 INFO L272 TraceCheckUtils]: 17: Hoare triple {361#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {361#true} is VALID [2022-04-08 12:18:07,937 INFO L290 TraceCheckUtils]: 18: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:18:07,937 INFO L290 TraceCheckUtils]: 19: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:18:07,937 INFO L290 TraceCheckUtils]: 20: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:18:07,938 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {361#true} {361#true} #83#return; {361#true} is VALID [2022-04-08 12:18:07,938 INFO L272 TraceCheckUtils]: 22: Hoare triple {361#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {361#true} is VALID [2022-04-08 12:18:07,938 INFO L290 TraceCheckUtils]: 23: Hoare triple {361#true} ~cond := #in~cond; {435#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:18:07,939 INFO L290 TraceCheckUtils]: 24: Hoare triple {435#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {439#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:18:07,939 INFO L290 TraceCheckUtils]: 25: Hoare triple {439#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {439#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:18:07,940 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {439#(not (= |assume_abort_if_not_#in~cond| 0))} {361#true} #85#return; {446#(<= 1 main_~y~0)} is VALID [2022-04-08 12:18:07,940 INFO L290 TraceCheckUtils]: 27: Hoare triple {446#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 12:18:07,940 INFO L272 TraceCheckUtils]: 28: Hoare triple {450#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {361#true} is VALID [2022-04-08 12:18:07,941 INFO L290 TraceCheckUtils]: 29: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:18:07,941 INFO L290 TraceCheckUtils]: 30: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:18:07,941 INFO L290 TraceCheckUtils]: 31: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:18:07,942 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #87#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 12:18:07,942 INFO L272 TraceCheckUtils]: 33: Hoare triple {450#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {361#true} is VALID [2022-04-08 12:18:07,942 INFO L290 TraceCheckUtils]: 34: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:18:07,942 INFO L290 TraceCheckUtils]: 35: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:18:07,942 INFO L290 TraceCheckUtils]: 36: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:18:07,943 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #89#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 12:18:07,943 INFO L290 TraceCheckUtils]: 38: Hoare triple {450#(<= 1 main_~b~0)} assume !false; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 12:18:07,944 INFO L290 TraceCheckUtils]: 39: Hoare triple {450#(<= 1 main_~b~0)} assume !(0 != ~b~0); {362#false} is VALID [2022-04-08 12:18:07,944 INFO L272 TraceCheckUtils]: 40: Hoare triple {362#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {362#false} is VALID [2022-04-08 12:18:07,944 INFO L290 TraceCheckUtils]: 41: Hoare triple {362#false} ~cond := #in~cond; {362#false} is VALID [2022-04-08 12:18:07,944 INFO L290 TraceCheckUtils]: 42: Hoare triple {362#false} assume 0 == ~cond; {362#false} is VALID [2022-04-08 12:18:07,944 INFO L290 TraceCheckUtils]: 43: Hoare triple {362#false} assume !false; {362#false} is VALID [2022-04-08 12:18:07,945 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-08 12:18:07,945 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:18:08,196 INFO L290 TraceCheckUtils]: 43: Hoare triple {362#false} assume !false; {362#false} is VALID [2022-04-08 12:18:08,197 INFO L290 TraceCheckUtils]: 42: Hoare triple {362#false} assume 0 == ~cond; {362#false} is VALID [2022-04-08 12:18:08,197 INFO L290 TraceCheckUtils]: 41: Hoare triple {362#false} ~cond := #in~cond; {362#false} is VALID [2022-04-08 12:18:08,199 INFO L272 TraceCheckUtils]: 40: Hoare triple {362#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {362#false} is VALID [2022-04-08 12:18:08,199 INFO L290 TraceCheckUtils]: 39: Hoare triple {450#(<= 1 main_~b~0)} assume !(0 != ~b~0); {362#false} is VALID [2022-04-08 12:18:08,209 INFO L290 TraceCheckUtils]: 38: Hoare triple {450#(<= 1 main_~b~0)} assume !false; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 12:18:08,211 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #89#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 12:18:08,212 INFO L290 TraceCheckUtils]: 36: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:18:08,212 INFO L290 TraceCheckUtils]: 35: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:18:08,212 INFO L290 TraceCheckUtils]: 34: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:18:08,212 INFO L272 TraceCheckUtils]: 33: Hoare triple {450#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {361#true} is VALID [2022-04-08 12:18:08,215 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #87#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 12:18:08,215 INFO L290 TraceCheckUtils]: 31: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:18:08,215 INFO L290 TraceCheckUtils]: 30: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:18:08,215 INFO L290 TraceCheckUtils]: 29: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:18:08,215 INFO L272 TraceCheckUtils]: 28: Hoare triple {450#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {361#true} is VALID [2022-04-08 12:18:08,216 INFO L290 TraceCheckUtils]: 27: Hoare triple {446#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 12:18:08,216 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {439#(not (= |assume_abort_if_not_#in~cond| 0))} {361#true} #85#return; {446#(<= 1 main_~y~0)} is VALID [2022-04-08 12:18:08,217 INFO L290 TraceCheckUtils]: 25: Hoare triple {439#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {439#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:18:08,217 INFO L290 TraceCheckUtils]: 24: Hoare triple {559#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {439#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:18:08,217 INFO L290 TraceCheckUtils]: 23: Hoare triple {361#true} ~cond := #in~cond; {559#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 12:18:08,217 INFO L272 TraceCheckUtils]: 22: Hoare triple {361#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {361#true} is VALID [2022-04-08 12:18:08,218 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {361#true} {361#true} #83#return; {361#true} is VALID [2022-04-08 12:18:08,218 INFO L290 TraceCheckUtils]: 20: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:18:08,218 INFO L290 TraceCheckUtils]: 19: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:18:08,218 INFO L290 TraceCheckUtils]: 18: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:18:08,218 INFO L272 TraceCheckUtils]: 17: Hoare triple {361#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {361#true} is VALID [2022-04-08 12:18:08,218 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {361#true} {361#true} #81#return; {361#true} is VALID [2022-04-08 12:18:08,218 INFO L290 TraceCheckUtils]: 15: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:18:08,218 INFO L290 TraceCheckUtils]: 14: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:18:08,218 INFO L290 TraceCheckUtils]: 13: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:18:08,219 INFO L272 TraceCheckUtils]: 12: Hoare triple {361#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {361#true} is VALID [2022-04-08 12:18:08,219 INFO L290 TraceCheckUtils]: 11: Hoare triple {361#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {361#true} is VALID [2022-04-08 12:18:08,219 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {361#true} {361#true} #79#return; {361#true} is VALID [2022-04-08 12:18:08,219 INFO L290 TraceCheckUtils]: 9: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:18:08,219 INFO L290 TraceCheckUtils]: 8: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:18:08,219 INFO L290 TraceCheckUtils]: 7: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:18:08,219 INFO L272 TraceCheckUtils]: 6: Hoare triple {361#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {361#true} is VALID [2022-04-08 12:18:08,219 INFO L290 TraceCheckUtils]: 5: Hoare triple {361#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {361#true} is VALID [2022-04-08 12:18:08,220 INFO L272 TraceCheckUtils]: 4: Hoare triple {361#true} call #t~ret6 := main(); {361#true} is VALID [2022-04-08 12:18:08,220 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {361#true} {361#true} #103#return; {361#true} is VALID [2022-04-08 12:18:08,220 INFO L290 TraceCheckUtils]: 2: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:18:08,220 INFO L290 TraceCheckUtils]: 1: Hoare triple {361#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {361#true} is VALID [2022-04-08 12:18:08,220 INFO L272 TraceCheckUtils]: 0: Hoare triple {361#true} call ULTIMATE.init(); {361#true} is VALID [2022-04-08 12:18:08,220 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-08 12:18:08,221 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:18:08,221 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [75441642] [2022-04-08 12:18:08,221 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:18:08,221 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1366887019] [2022-04-08 12:18:08,221 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1366887019] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:18:08,221 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:18:08,221 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-08 12:18:08,222 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:18:08,222 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [70334538] [2022-04-08 12:18:08,222 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [70334538] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:18:08,222 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:18:08,222 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 12:18:08,222 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1294247369] [2022-04-08 12:18:08,222 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:18:08,223 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 44 [2022-04-08 12:18:08,223 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:18:08,223 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:18:08,244 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:18:08,244 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 12:18:08,244 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:18:08,244 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 12:18:08,244 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-08 12:18:08,245 INFO L87 Difference]: Start difference. First operand 35 states and 46 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:18:08,493 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:18:08,494 INFO L93 Difference]: Finished difference Result 52 states and 69 transitions. [2022-04-08 12:18:08,494 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 12:18:08,494 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 44 [2022-04-08 12:18:08,494 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:18:08,494 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:18:08,497 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-08 12:18:08,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:18:08,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-08 12:18:08,499 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-08 12:18:08,549 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:18:08,551 INFO L225 Difference]: With dead ends: 52 [2022-04-08 12:18:08,551 INFO L226 Difference]: Without dead ends: 44 [2022-04-08 12:18:08,551 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 81 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=50, Unknown=0, NotChecked=0, Total=72 [2022-04-08 12:18:08,552 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 19 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 90 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 101 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 90 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:18:08,552 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 128 Invalid, 101 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 90 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:18:08,553 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-08 12:18:08,572 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-08 12:18:08,573 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:18:08,573 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 12:18:08,573 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 12:18:08,574 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 12:18:08,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:18:08,576 INFO L93 Difference]: Finished difference Result 44 states and 60 transitions. [2022-04-08 12:18:08,576 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 60 transitions. [2022-04-08 12:18:08,576 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:18:08,577 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:18:08,577 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 44 states. [2022-04-08 12:18:08,577 INFO L87 Difference]: Start difference. First operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 44 states. [2022-04-08 12:18:08,579 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:18:08,579 INFO L93 Difference]: Finished difference Result 44 states and 60 transitions. [2022-04-08 12:18:08,579 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 60 transitions. [2022-04-08 12:18:08,580 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:18:08,580 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:18:08,580 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:18:08,580 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:18:08,580 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 12:18:08,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 48 transitions. [2022-04-08 12:18:08,582 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 48 transitions. Word has length 44 [2022-04-08 12:18:08,582 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:18:08,582 INFO L478 AbstractCegarLoop]: Abstraction has 37 states and 48 transitions. [2022-04-08 12:18:08,582 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 12:18:08,583 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 48 transitions. [2022-04-08 12:18:08,621 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:18:08,622 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 48 transitions. [2022-04-08 12:18:08,622 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-08 12:18:08,622 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:18:08,622 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:18:08,641 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-08 12:18:08,841 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:18:08,841 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:18:08,846 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:18:08,846 INFO L85 PathProgramCache]: Analyzing trace with hash 561616070, now seen corresponding path program 1 times [2022-04-08 12:18:08,846 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:18:08,846 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1952691873] [2022-04-08 12:18:08,846 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:18:08,846 INFO L85 PathProgramCache]: Analyzing trace with hash 561616070, now seen corresponding path program 2 times [2022-04-08 12:18:08,847 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:18:08,847 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1707982961] [2022-04-08 12:18:08,847 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:18:08,847 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:18:08,862 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:18:08,862 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [209334526] [2022-04-08 12:18:08,862 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:18:08,863 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:18:08,863 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:18:08,867 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:18:08,868 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-08 12:18:08,904 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 12:18:08,904 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:18:08,905 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-08 12:18:08,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:18:08,912 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:18:09,012 INFO L272 TraceCheckUtils]: 0: Hoare triple {901#true} call ULTIMATE.init(); {901#true} is VALID [2022-04-08 12:18:09,012 INFO L290 TraceCheckUtils]: 1: Hoare triple {901#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {901#true} is VALID [2022-04-08 12:18:09,012 INFO L290 TraceCheckUtils]: 2: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 12:18:09,012 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {901#true} {901#true} #103#return; {901#true} is VALID [2022-04-08 12:18:09,012 INFO L272 TraceCheckUtils]: 4: Hoare triple {901#true} call #t~ret6 := main(); {901#true} is VALID [2022-04-08 12:18:09,013 INFO L290 TraceCheckUtils]: 5: Hoare triple {901#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {901#true} is VALID [2022-04-08 12:18:09,013 INFO L272 TraceCheckUtils]: 6: Hoare triple {901#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {901#true} is VALID [2022-04-08 12:18:09,013 INFO L290 TraceCheckUtils]: 7: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-08 12:18:09,013 INFO L290 TraceCheckUtils]: 8: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-08 12:18:09,013 INFO L290 TraceCheckUtils]: 9: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 12:18:09,013 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {901#true} {901#true} #79#return; {901#true} is VALID [2022-04-08 12:18:09,013 INFO L290 TraceCheckUtils]: 11: Hoare triple {901#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {901#true} is VALID [2022-04-08 12:18:09,013 INFO L272 TraceCheckUtils]: 12: Hoare triple {901#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {901#true} is VALID [2022-04-08 12:18:09,013 INFO L290 TraceCheckUtils]: 13: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-08 12:18:09,014 INFO L290 TraceCheckUtils]: 14: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-08 12:18:09,014 INFO L290 TraceCheckUtils]: 15: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 12:18:09,014 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {901#true} {901#true} #81#return; {901#true} is VALID [2022-04-08 12:18:09,014 INFO L272 TraceCheckUtils]: 17: Hoare triple {901#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {901#true} is VALID [2022-04-08 12:18:09,014 INFO L290 TraceCheckUtils]: 18: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-08 12:18:09,014 INFO L290 TraceCheckUtils]: 19: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-08 12:18:09,014 INFO L290 TraceCheckUtils]: 20: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 12:18:09,014 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {901#true} {901#true} #83#return; {901#true} is VALID [2022-04-08 12:18:09,014 INFO L272 TraceCheckUtils]: 22: Hoare triple {901#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {901#true} is VALID [2022-04-08 12:18:09,015 INFO L290 TraceCheckUtils]: 23: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-08 12:18:09,015 INFO L290 TraceCheckUtils]: 24: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-08 12:18:09,015 INFO L290 TraceCheckUtils]: 25: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 12:18:09,015 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {901#true} {901#true} #85#return; {901#true} is VALID [2022-04-08 12:18:09,015 INFO L290 TraceCheckUtils]: 27: Hoare triple {901#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {901#true} is VALID [2022-04-08 12:18:09,015 INFO L272 TraceCheckUtils]: 28: Hoare triple {901#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {901#true} is VALID [2022-04-08 12:18:09,015 INFO L290 TraceCheckUtils]: 29: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-08 12:18:09,015 INFO L290 TraceCheckUtils]: 30: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-08 12:18:09,015 INFO L290 TraceCheckUtils]: 31: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 12:18:09,015 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {901#true} {901#true} #87#return; {901#true} is VALID [2022-04-08 12:18:09,016 INFO L272 TraceCheckUtils]: 33: Hoare triple {901#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {901#true} is VALID [2022-04-08 12:18:09,016 INFO L290 TraceCheckUtils]: 34: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-08 12:18:09,016 INFO L290 TraceCheckUtils]: 35: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-08 12:18:09,016 INFO L290 TraceCheckUtils]: 36: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 12:18:09,016 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {901#true} {901#true} #89#return; {901#true} is VALID [2022-04-08 12:18:09,016 INFO L290 TraceCheckUtils]: 38: Hoare triple {901#true} assume !false; {901#true} is VALID [2022-04-08 12:18:09,017 INFO L290 TraceCheckUtils]: 39: Hoare triple {901#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1023#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-08 12:18:09,017 INFO L290 TraceCheckUtils]: 40: Hoare triple {1023#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} assume !false; {1023#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-08 12:18:09,018 INFO L272 TraceCheckUtils]: 41: Hoare triple {1023#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1030#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:18:09,018 INFO L290 TraceCheckUtils]: 42: Hoare triple {1030#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1034#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:18:09,018 INFO L290 TraceCheckUtils]: 43: Hoare triple {1034#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {902#false} is VALID [2022-04-08 12:18:09,018 INFO L290 TraceCheckUtils]: 44: Hoare triple {902#false} assume !false; {902#false} is VALID [2022-04-08 12:18:09,019 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-08 12:18:09,019 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:18:09,019 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:18:09,019 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1707982961] [2022-04-08 12:18:09,019 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:18:09,019 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [209334526] [2022-04-08 12:18:09,019 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [209334526] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:18:09,019 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:18:09,019 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:18:09,020 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:18:09,020 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1952691873] [2022-04-08 12:18:09,020 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1952691873] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:18:09,020 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:18:09,020 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:18:09,020 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [325452625] [2022-04-08 12:18:09,020 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:18:09,020 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 45 [2022-04-08 12:18:09,021 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:18:09,021 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 12:18:09,037 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:18:09,037 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:18:09,037 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:18:09,037 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:18:09,037 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:18:09,038 INFO L87 Difference]: Start difference. First operand 37 states and 48 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 12:18:09,215 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:18:09,215 INFO L93 Difference]: Finished difference Result 50 states and 65 transitions. [2022-04-08 12:18:09,215 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:18:09,215 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 45 [2022-04-08 12:18:09,216 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:18:09,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 12:18:09,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-08 12:18:09,217 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 12:18:09,218 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-08 12:18:09,218 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-04-08 12:18:09,269 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:18:09,270 INFO L225 Difference]: With dead ends: 50 [2022-04-08 12:18:09,270 INFO L226 Difference]: Without dead ends: 48 [2022-04-08 12:18:09,271 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 41 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 12:18:09,271 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 6 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 154 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:18:09,272 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 154 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:18:09,272 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-08 12:18:09,294 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 43. [2022-04-08 12:18:09,294 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:18:09,294 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:18:09,295 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:18:09,295 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:18:09,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:18:09,297 INFO L93 Difference]: Finished difference Result 48 states and 63 transitions. [2022-04-08 12:18:09,297 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 63 transitions. [2022-04-08 12:18:09,297 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:18:09,297 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:18:09,298 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 48 states. [2022-04-08 12:18:09,298 INFO L87 Difference]: Start difference. First operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 48 states. [2022-04-08 12:18:09,300 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:18:09,300 INFO L93 Difference]: Finished difference Result 48 states and 63 transitions. [2022-04-08 12:18:09,300 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 63 transitions. [2022-04-08 12:18:09,300 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:18:09,300 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:18:09,300 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:18:09,301 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:18:09,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 12:18:09,304 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 54 transitions. [2022-04-08 12:18:09,304 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 54 transitions. Word has length 45 [2022-04-08 12:18:09,304 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:18:09,305 INFO L478 AbstractCegarLoop]: Abstraction has 43 states and 54 transitions. [2022-04-08 12:18:09,305 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 12:18:09,305 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 54 transitions. [2022-04-08 12:18:09,356 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:18:09,356 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 54 transitions. [2022-04-08 12:18:09,357 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 12:18:09,357 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:18:09,357 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:18:09,375 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-08 12:18:09,567 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-08 12:18:09,568 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:18:09,568 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:18:09,568 INFO L85 PathProgramCache]: Analyzing trace with hash -680064098, now seen corresponding path program 1 times [2022-04-08 12:18:09,568 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:18:09,568 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [64001756] [2022-04-08 12:18:09,569 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:18:09,569 INFO L85 PathProgramCache]: Analyzing trace with hash -680064098, now seen corresponding path program 2 times [2022-04-08 12:18:09,569 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:18:09,569 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [92932546] [2022-04-08 12:18:09,569 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:18:09,569 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:18:09,591 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:18:09,591 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [112812615] [2022-04-08 12:18:09,591 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:18:09,591 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:18:09,591 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:18:09,592 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:18:09,593 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-08 12:18:09,629 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:18:09,629 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:18:09,630 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-08 12:18:09,640 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:18:09,641 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:18:09,944 INFO L272 TraceCheckUtils]: 0: Hoare triple {1324#true} call ULTIMATE.init(); {1324#true} is VALID [2022-04-08 12:18:09,944 INFO L290 TraceCheckUtils]: 1: Hoare triple {1324#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {1324#true} is VALID [2022-04-08 12:18:09,944 INFO L290 TraceCheckUtils]: 2: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 12:18:09,944 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1324#true} {1324#true} #103#return; {1324#true} is VALID [2022-04-08 12:18:09,944 INFO L272 TraceCheckUtils]: 4: Hoare triple {1324#true} call #t~ret6 := main(); {1324#true} is VALID [2022-04-08 12:18:09,944 INFO L290 TraceCheckUtils]: 5: Hoare triple {1324#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1324#true} is VALID [2022-04-08 12:18:09,945 INFO L272 TraceCheckUtils]: 6: Hoare triple {1324#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {1324#true} is VALID [2022-04-08 12:18:09,945 INFO L290 TraceCheckUtils]: 7: Hoare triple {1324#true} ~cond := #in~cond; {1350#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:18:09,945 INFO L290 TraceCheckUtils]: 8: Hoare triple {1350#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1354#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:18:09,946 INFO L290 TraceCheckUtils]: 9: Hoare triple {1354#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1354#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:18:09,946 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1354#(not (= |assume_abort_if_not_#in~cond| 0))} {1324#true} #79#return; {1361#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 12:18:09,946 INFO L290 TraceCheckUtils]: 11: Hoare triple {1361#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1361#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 12:18:09,947 INFO L272 TraceCheckUtils]: 12: Hoare triple {1361#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {1324#true} is VALID [2022-04-08 12:18:09,947 INFO L290 TraceCheckUtils]: 13: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-08 12:18:09,947 INFO L290 TraceCheckUtils]: 14: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-08 12:18:09,947 INFO L290 TraceCheckUtils]: 15: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 12:18:09,947 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1324#true} {1361#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #81#return; {1361#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 12:18:09,947 INFO L272 TraceCheckUtils]: 17: Hoare triple {1361#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1324#true} is VALID [2022-04-08 12:18:09,948 INFO L290 TraceCheckUtils]: 18: Hoare triple {1324#true} ~cond := #in~cond; {1350#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:18:09,948 INFO L290 TraceCheckUtils]: 19: Hoare triple {1350#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1354#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:18:09,948 INFO L290 TraceCheckUtils]: 20: Hoare triple {1354#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1354#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:18:09,949 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1354#(not (= |assume_abort_if_not_#in~cond| 0))} {1361#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #83#return; {1395#(and (<= 1 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 12:18:09,949 INFO L272 TraceCheckUtils]: 22: Hoare triple {1395#(and (<= 1 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1324#true} is VALID [2022-04-08 12:18:09,949 INFO L290 TraceCheckUtils]: 23: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-08 12:18:09,949 INFO L290 TraceCheckUtils]: 24: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-08 12:18:09,949 INFO L290 TraceCheckUtils]: 25: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 12:18:09,950 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1324#true} {1395#(and (<= 1 main_~x~0) (<= main_~x~0 1))} #85#return; {1395#(and (<= 1 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 12:18:09,950 INFO L290 TraceCheckUtils]: 27: Hoare triple {1395#(and (<= 1 main_~x~0) (<= main_~x~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:18:09,950 INFO L272 TraceCheckUtils]: 28: Hoare triple {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1324#true} is VALID [2022-04-08 12:18:09,950 INFO L290 TraceCheckUtils]: 29: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-08 12:18:09,951 INFO L290 TraceCheckUtils]: 30: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-08 12:18:09,951 INFO L290 TraceCheckUtils]: 31: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 12:18:09,951 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1324#true} {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:18:09,951 INFO L272 TraceCheckUtils]: 33: Hoare triple {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1324#true} is VALID [2022-04-08 12:18:09,951 INFO L290 TraceCheckUtils]: 34: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-08 12:18:09,952 INFO L290 TraceCheckUtils]: 35: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-08 12:18:09,952 INFO L290 TraceCheckUtils]: 36: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 12:18:09,952 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1324#true} {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:18:09,953 INFO L290 TraceCheckUtils]: 38: Hoare triple {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:18:09,953 INFO L290 TraceCheckUtils]: 39: Hoare triple {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:18:09,953 INFO L290 TraceCheckUtils]: 40: Hoare triple {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:18:09,954 INFO L272 TraceCheckUtils]: 41: Hoare triple {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1324#true} is VALID [2022-04-08 12:18:09,954 INFO L290 TraceCheckUtils]: 42: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-08 12:18:09,954 INFO L290 TraceCheckUtils]: 43: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-08 12:18:09,954 INFO L290 TraceCheckUtils]: 44: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 12:18:09,955 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1324#true} {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 12:18:09,955 INFO L272 TraceCheckUtils]: 46: Hoare triple {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1472#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:18:09,956 INFO L290 TraceCheckUtils]: 47: Hoare triple {1472#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1476#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:18:09,956 INFO L290 TraceCheckUtils]: 48: Hoare triple {1476#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1325#false} is VALID [2022-04-08 12:18:09,956 INFO L290 TraceCheckUtils]: 49: Hoare triple {1325#false} assume !false; {1325#false} is VALID [2022-04-08 12:18:09,956 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 5 proven. 21 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-08 12:18:09,956 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:18:45,260 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:18:45,260 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [92932546] [2022-04-08 12:18:45,260 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:18:45,260 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [112812615] [2022-04-08 12:18:45,260 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [112812615] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 12:18:45,260 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 12:18:45,261 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2022-04-08 12:18:45,261 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:18:45,261 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [64001756] [2022-04-08 12:18:45,261 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [64001756] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:18:45,261 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:18:45,261 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 12:18:45,261 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [957378632] [2022-04-08 12:18:45,261 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:18:45,262 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 50 [2022-04-08 12:18:45,262 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:18:45,262 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 12:18:45,298 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:18:45,298 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 12:18:45,298 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:18:45,298 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 12:18:45,299 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-08 12:18:45,299 INFO L87 Difference]: Start difference. First operand 43 states and 54 transitions. Second operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 12:18:45,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:18:45,740 INFO L93 Difference]: Finished difference Result 58 states and 74 transitions. [2022-04-08 12:18:45,740 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 12:18:45,740 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 50 [2022-04-08 12:18:45,741 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:18:45,741 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 12:18:45,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-08 12:18:45,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 12:18:45,743 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-08 12:18:45,743 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 65 transitions. [2022-04-08 12:18:45,819 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:18:45,821 INFO L225 Difference]: With dead ends: 58 [2022-04-08 12:18:45,821 INFO L226 Difference]: Without dead ends: 56 [2022-04-08 12:18:45,823 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 45 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2022-04-08 12:18:45,825 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 31 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 139 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 193 SdHoareTripleChecker+Invalid, 153 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 139 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:18:45,826 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [40 Valid, 193 Invalid, 153 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 139 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:18:45,827 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-08 12:18:45,887 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 55. [2022-04-08 12:18:45,887 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:18:45,887 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 12:18:45,888 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 12:18:45,888 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 12:18:45,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:18:45,890 INFO L93 Difference]: Finished difference Result 56 states and 72 transitions. [2022-04-08 12:18:45,890 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 72 transitions. [2022-04-08 12:18:45,890 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:18:45,890 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:18:45,890 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 56 states. [2022-04-08 12:18:45,891 INFO L87 Difference]: Start difference. First operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 56 states. [2022-04-08 12:18:45,892 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:18:45,892 INFO L93 Difference]: Finished difference Result 56 states and 72 transitions. [2022-04-08 12:18:45,893 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 72 transitions. [2022-04-08 12:18:45,893 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:18:45,893 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:18:45,893 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:18:45,893 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:18:45,893 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 12:18:45,895 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 71 transitions. [2022-04-08 12:18:45,895 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 71 transitions. Word has length 50 [2022-04-08 12:18:45,895 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:18:45,895 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 71 transitions. [2022-04-08 12:18:45,895 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 12:18:45,895 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 71 transitions. [2022-04-08 12:18:45,961 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:18:45,961 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 71 transitions. [2022-04-08 12:18:45,962 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-08 12:18:45,962 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:18:45,962 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:18:45,979 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-08 12:18:46,175 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:18:46,176 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:18:46,176 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:18:46,176 INFO L85 PathProgramCache]: Analyzing trace with hash 606548870, now seen corresponding path program 1 times [2022-04-08 12:18:46,176 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:18:46,176 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1530964867] [2022-04-08 12:18:46,177 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:18:46,177 INFO L85 PathProgramCache]: Analyzing trace with hash 606548870, now seen corresponding path program 2 times [2022-04-08 12:18:46,177 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:18:46,177 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1361839222] [2022-04-08 12:18:46,177 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:18:46,177 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:18:46,194 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:18:46,195 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [89536886] [2022-04-08 12:18:46,195 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:18:46,195 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:18:46,195 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:18:46,198 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:18:46,199 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-08 12:18:46,239 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:18:46,239 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:18:46,240 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-08 12:18:46,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:18:46,258 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:18:46,785 INFO L272 TraceCheckUtils]: 0: Hoare triple {1840#true} call ULTIMATE.init(); {1840#true} is VALID [2022-04-08 12:18:46,786 INFO L290 TraceCheckUtils]: 1: Hoare triple {1840#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {1840#true} is VALID [2022-04-08 12:18:46,786 INFO L290 TraceCheckUtils]: 2: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-08 12:18:46,786 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1840#true} {1840#true} #103#return; {1840#true} is VALID [2022-04-08 12:18:46,786 INFO L272 TraceCheckUtils]: 4: Hoare triple {1840#true} call #t~ret6 := main(); {1840#true} is VALID [2022-04-08 12:18:46,786 INFO L290 TraceCheckUtils]: 5: Hoare triple {1840#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1840#true} is VALID [2022-04-08 12:18:46,786 INFO L272 TraceCheckUtils]: 6: Hoare triple {1840#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {1840#true} is VALID [2022-04-08 12:18:46,786 INFO L290 TraceCheckUtils]: 7: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-08 12:18:46,786 INFO L290 TraceCheckUtils]: 8: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-08 12:18:46,786 INFO L290 TraceCheckUtils]: 9: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-08 12:18:46,786 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1840#true} {1840#true} #79#return; {1840#true} is VALID [2022-04-08 12:18:46,787 INFO L290 TraceCheckUtils]: 11: Hoare triple {1840#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1840#true} is VALID [2022-04-08 12:18:46,787 INFO L272 TraceCheckUtils]: 12: Hoare triple {1840#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {1840#true} is VALID [2022-04-08 12:18:46,788 INFO L290 TraceCheckUtils]: 13: Hoare triple {1840#true} ~cond := #in~cond; {1884#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:18:46,788 INFO L290 TraceCheckUtils]: 14: Hoare triple {1884#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1888#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:18:46,789 INFO L290 TraceCheckUtils]: 15: Hoare triple {1888#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1888#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:18:46,789 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1888#(not (= |assume_abort_if_not_#in~cond| 0))} {1840#true} #81#return; {1895#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:18:46,789 INFO L272 TraceCheckUtils]: 17: Hoare triple {1895#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1840#true} is VALID [2022-04-08 12:18:46,789 INFO L290 TraceCheckUtils]: 18: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-08 12:18:46,790 INFO L290 TraceCheckUtils]: 19: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-08 12:18:46,790 INFO L290 TraceCheckUtils]: 20: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-08 12:18:46,792 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1840#true} {1895#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #83#return; {1895#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:18:46,792 INFO L272 TraceCheckUtils]: 22: Hoare triple {1895#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1840#true} is VALID [2022-04-08 12:18:46,792 INFO L290 TraceCheckUtils]: 23: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-08 12:18:46,792 INFO L290 TraceCheckUtils]: 24: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-08 12:18:46,792 INFO L290 TraceCheckUtils]: 25: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-08 12:18:46,792 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1840#true} {1895#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #85#return; {1895#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:18:46,793 INFO L290 TraceCheckUtils]: 27: Hoare triple {1895#(and (<= 0 main_~y~0) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:18:46,793 INFO L272 TraceCheckUtils]: 28: Hoare triple {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1840#true} is VALID [2022-04-08 12:18:46,793 INFO L290 TraceCheckUtils]: 29: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-08 12:18:46,793 INFO L290 TraceCheckUtils]: 30: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-08 12:18:46,793 INFO L290 TraceCheckUtils]: 31: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-08 12:18:46,794 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1840#true} {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} #87#return; {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:18:46,794 INFO L272 TraceCheckUtils]: 33: Hoare triple {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1840#true} is VALID [2022-04-08 12:18:46,794 INFO L290 TraceCheckUtils]: 34: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-08 12:18:46,794 INFO L290 TraceCheckUtils]: 35: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-08 12:18:46,794 INFO L290 TraceCheckUtils]: 36: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-08 12:18:46,795 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1840#true} {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} #89#return; {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:18:46,795 INFO L290 TraceCheckUtils]: 38: Hoare triple {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} assume !false; {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:18:46,796 INFO L290 TraceCheckUtils]: 39: Hoare triple {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:18:46,796 INFO L290 TraceCheckUtils]: 40: Hoare triple {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} assume !false; {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:18:46,796 INFO L272 TraceCheckUtils]: 41: Hoare triple {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1840#true} is VALID [2022-04-08 12:18:46,796 INFO L290 TraceCheckUtils]: 42: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-08 12:18:46,796 INFO L290 TraceCheckUtils]: 43: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-08 12:18:46,796 INFO L290 TraceCheckUtils]: 44: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-08 12:18:46,797 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1840#true} {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} #91#return; {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:18:46,797 INFO L272 TraceCheckUtils]: 46: Hoare triple {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1840#true} is VALID [2022-04-08 12:18:46,797 INFO L290 TraceCheckUtils]: 47: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-08 12:18:46,797 INFO L290 TraceCheckUtils]: 48: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-08 12:18:46,797 INFO L290 TraceCheckUtils]: 49: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-08 12:18:46,798 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1840#true} {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} #93#return; {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:18:46,799 INFO L272 TraceCheckUtils]: 51: Hoare triple {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2003#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:18:46,799 INFO L290 TraceCheckUtils]: 52: Hoare triple {2003#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2007#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:18:46,800 INFO L290 TraceCheckUtils]: 53: Hoare triple {2007#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1841#false} is VALID [2022-04-08 12:18:46,800 INFO L290 TraceCheckUtils]: 54: Hoare triple {1841#false} assume !false; {1841#false} is VALID [2022-04-08 12:18:46,800 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 7 proven. 12 refuted. 0 times theorem prover too weak. 49 trivial. 0 not checked. [2022-04-08 12:18:46,800 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:19:19,912 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:19:19,912 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1361839222] [2022-04-08 12:19:19,912 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:19:19,912 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [89536886] [2022-04-08 12:19:19,912 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [89536886] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 12:19:19,912 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 12:19:19,913 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2022-04-08 12:19:19,913 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:19:19,913 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1530964867] [2022-04-08 12:19:19,913 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1530964867] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:19:19,913 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:19:19,913 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 12:19:19,913 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1844430905] [2022-04-08 12:19:19,913 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:19:19,914 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 55 [2022-04-08 12:19:19,914 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:19:19,914 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 12:19:19,940 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:19:19,941 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 12:19:19,941 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:19:19,941 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 12:19:19,941 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-08 12:19:19,941 INFO L87 Difference]: Start difference. First operand 55 states and 71 transitions. Second operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 12:19:20,517 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:19:20,518 INFO L93 Difference]: Finished difference Result 62 states and 77 transitions. [2022-04-08 12:19:20,518 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 12:19:20,518 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 55 [2022-04-08 12:19:20,518 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:19:20,518 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 12:19:20,519 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-08 12:19:20,519 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 12:19:20,520 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-08 12:19:20,521 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 65 transitions. [2022-04-08 12:19:20,568 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:19:20,569 INFO L225 Difference]: With dead ends: 62 [2022-04-08 12:19:20,569 INFO L226 Difference]: Without dead ends: 60 [2022-04-08 12:19:20,569 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 50 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-08 12:19:20,570 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 22 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 169 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 176 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 169 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 12:19:20,570 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 180 Invalid, 176 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 169 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 12:19:20,570 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-08 12:19:20,661 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 59. [2022-04-08 12:19:20,661 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:19:20,661 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 12:19:20,661 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 12:19:20,661 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 12:19:20,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:19:20,664 INFO L93 Difference]: Finished difference Result 60 states and 75 transitions. [2022-04-08 12:19:20,664 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 75 transitions. [2022-04-08 12:19:20,664 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:19:20,664 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:19:20,664 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 60 states. [2022-04-08 12:19:20,665 INFO L87 Difference]: Start difference. First operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 60 states. [2022-04-08 12:19:20,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:19:20,667 INFO L93 Difference]: Finished difference Result 60 states and 75 transitions. [2022-04-08 12:19:20,667 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 75 transitions. [2022-04-08 12:19:20,667 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:19:20,667 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:19:20,667 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:19:20,667 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:19:20,667 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 12:19:20,669 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 74 transitions. [2022-04-08 12:19:20,669 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 74 transitions. Word has length 55 [2022-04-08 12:19:20,669 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:19:20,669 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 74 transitions. [2022-04-08 12:19:20,669 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 12:19:20,670 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 74 transitions. [2022-04-08 12:19:20,745 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:19:20,745 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 74 transitions. [2022-04-08 12:19:20,745 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-04-08 12:19:20,745 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:19:20,746 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:19:20,762 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-08 12:19:20,946 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:19:20,946 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:19:20,946 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:19:20,947 INFO L85 PathProgramCache]: Analyzing trace with hash 1584976990, now seen corresponding path program 1 times [2022-04-08 12:19:20,947 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:19:20,947 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1492396534] [2022-04-08 12:19:20,947 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:19:20,947 INFO L85 PathProgramCache]: Analyzing trace with hash 1584976990, now seen corresponding path program 2 times [2022-04-08 12:19:20,947 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:19:20,947 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1706108642] [2022-04-08 12:19:20,947 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:19:20,948 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:19:20,958 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:19:20,958 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [313376042] [2022-04-08 12:19:20,958 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:19:20,958 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:19:20,958 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:19:20,959 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:19:20,960 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-08 12:19:21,000 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:19:21,000 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:19:21,001 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-08 12:19:21,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:19:21,013 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:19:21,922 INFO L272 TraceCheckUtils]: 0: Hoare triple {2395#true} call ULTIMATE.init(); {2395#true} is VALID [2022-04-08 12:19:21,922 INFO L290 TraceCheckUtils]: 1: Hoare triple {2395#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {2395#true} is VALID [2022-04-08 12:19:21,923 INFO L290 TraceCheckUtils]: 2: Hoare triple {2395#true} assume true; {2395#true} is VALID [2022-04-08 12:19:21,923 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2395#true} {2395#true} #103#return; {2395#true} is VALID [2022-04-08 12:19:21,923 INFO L272 TraceCheckUtils]: 4: Hoare triple {2395#true} call #t~ret6 := main(); {2395#true} is VALID [2022-04-08 12:19:21,923 INFO L290 TraceCheckUtils]: 5: Hoare triple {2395#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2395#true} is VALID [2022-04-08 12:19:21,923 INFO L272 TraceCheckUtils]: 6: Hoare triple {2395#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2395#true} is VALID [2022-04-08 12:19:21,923 INFO L290 TraceCheckUtils]: 7: Hoare triple {2395#true} ~cond := #in~cond; {2421#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:19:21,924 INFO L290 TraceCheckUtils]: 8: Hoare triple {2421#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2425#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:19:21,924 INFO L290 TraceCheckUtils]: 9: Hoare triple {2425#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2425#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:19:21,924 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2425#(not (= |assume_abort_if_not_#in~cond| 0))} {2395#true} #79#return; {2432#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 12:19:21,925 INFO L290 TraceCheckUtils]: 11: Hoare triple {2432#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2432#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 12:19:21,925 INFO L272 TraceCheckUtils]: 12: Hoare triple {2432#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {2395#true} is VALID [2022-04-08 12:19:21,925 INFO L290 TraceCheckUtils]: 13: Hoare triple {2395#true} ~cond := #in~cond; {2421#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:19:21,925 INFO L290 TraceCheckUtils]: 14: Hoare triple {2421#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2425#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:19:21,926 INFO L290 TraceCheckUtils]: 15: Hoare triple {2425#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2425#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:19:21,926 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2425#(not (= |assume_abort_if_not_#in~cond| 0))} {2432#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #81#return; {2451#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-08 12:19:21,926 INFO L272 TraceCheckUtils]: 17: Hoare triple {2451#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2395#true} is VALID [2022-04-08 12:19:21,927 INFO L290 TraceCheckUtils]: 18: Hoare triple {2395#true} ~cond := #in~cond; {2421#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:19:21,927 INFO L290 TraceCheckUtils]: 19: Hoare triple {2421#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2425#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:19:21,927 INFO L290 TraceCheckUtils]: 20: Hoare triple {2425#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2425#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:19:21,928 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2425#(not (= |assume_abort_if_not_#in~cond| 0))} {2451#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #83#return; {2467#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-08 12:19:21,928 INFO L272 TraceCheckUtils]: 22: Hoare triple {2467#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2395#true} is VALID [2022-04-08 12:19:21,928 INFO L290 TraceCheckUtils]: 23: Hoare triple {2395#true} ~cond := #in~cond; {2395#true} is VALID [2022-04-08 12:19:21,928 INFO L290 TraceCheckUtils]: 24: Hoare triple {2395#true} assume !(0 == ~cond); {2395#true} is VALID [2022-04-08 12:19:21,928 INFO L290 TraceCheckUtils]: 25: Hoare triple {2395#true} assume true; {2395#true} is VALID [2022-04-08 12:19:21,929 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2395#true} {2467#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #85#return; {2467#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-08 12:19:21,929 INFO L290 TraceCheckUtils]: 27: Hoare triple {2467#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:19:21,929 INFO L272 TraceCheckUtils]: 28: Hoare triple {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2395#true} is VALID [2022-04-08 12:19:21,929 INFO L290 TraceCheckUtils]: 29: Hoare triple {2395#true} ~cond := #in~cond; {2395#true} is VALID [2022-04-08 12:19:21,929 INFO L290 TraceCheckUtils]: 30: Hoare triple {2395#true} assume !(0 == ~cond); {2395#true} is VALID [2022-04-08 12:19:21,929 INFO L290 TraceCheckUtils]: 31: Hoare triple {2395#true} assume true; {2395#true} is VALID [2022-04-08 12:19:21,930 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2395#true} {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} #87#return; {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:19:21,930 INFO L272 TraceCheckUtils]: 33: Hoare triple {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2395#true} is VALID [2022-04-08 12:19:21,930 INFO L290 TraceCheckUtils]: 34: Hoare triple {2395#true} ~cond := #in~cond; {2395#true} is VALID [2022-04-08 12:19:21,930 INFO L290 TraceCheckUtils]: 35: Hoare triple {2395#true} assume !(0 == ~cond); {2395#true} is VALID [2022-04-08 12:19:21,930 INFO L290 TraceCheckUtils]: 36: Hoare triple {2395#true} assume true; {2395#true} is VALID [2022-04-08 12:19:21,931 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2395#true} {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} #89#return; {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:19:21,931 INFO L290 TraceCheckUtils]: 38: Hoare triple {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} assume !false; {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:19:21,932 INFO L290 TraceCheckUtils]: 39: Hoare triple {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:19:21,932 INFO L290 TraceCheckUtils]: 40: Hoare triple {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} assume !false; {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:19:21,932 INFO L272 TraceCheckUtils]: 41: Hoare triple {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2395#true} is VALID [2022-04-08 12:19:21,932 INFO L290 TraceCheckUtils]: 42: Hoare triple {2395#true} ~cond := #in~cond; {2395#true} is VALID [2022-04-08 12:19:21,933 INFO L290 TraceCheckUtils]: 43: Hoare triple {2395#true} assume !(0 == ~cond); {2395#true} is VALID [2022-04-08 12:19:21,933 INFO L290 TraceCheckUtils]: 44: Hoare triple {2395#true} assume true; {2395#true} is VALID [2022-04-08 12:19:21,933 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2395#true} {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} #91#return; {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:19:21,934 INFO L272 TraceCheckUtils]: 46: Hoare triple {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2395#true} is VALID [2022-04-08 12:19:21,934 INFO L290 TraceCheckUtils]: 47: Hoare triple {2395#true} ~cond := #in~cond; {2548#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:19:21,934 INFO L290 TraceCheckUtils]: 48: Hoare triple {2548#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2552#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:19:21,934 INFO L290 TraceCheckUtils]: 49: Hoare triple {2552#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2552#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:19:21,935 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2552#(not (= |__VERIFIER_assert_#in~cond| 0))} {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} #93#return; {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:19:21,935 INFO L272 TraceCheckUtils]: 51: Hoare triple {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2395#true} is VALID [2022-04-08 12:19:21,936 INFO L290 TraceCheckUtils]: 52: Hoare triple {2395#true} ~cond := #in~cond; {2548#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:19:21,936 INFO L290 TraceCheckUtils]: 53: Hoare triple {2548#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2552#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:19:21,936 INFO L290 TraceCheckUtils]: 54: Hoare triple {2552#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2552#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:19:21,937 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2552#(not (= |__VERIFIER_assert_#in~cond| 0))} {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} #95#return; {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:19:21,937 INFO L272 TraceCheckUtils]: 56: Hoare triple {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {2577#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:19:21,938 INFO L290 TraceCheckUtils]: 57: Hoare triple {2577#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2581#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:19:21,938 INFO L290 TraceCheckUtils]: 58: Hoare triple {2581#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2396#false} is VALID [2022-04-08 12:19:21,938 INFO L290 TraceCheckUtils]: 59: Hoare triple {2396#false} assume !false; {2396#false} is VALID [2022-04-08 12:19:21,939 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 29 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-08 12:19:21,939 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:20:11,529 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:20:11,530 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1706108642] [2022-04-08 12:20:11,530 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:20:11,530 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [313376042] [2022-04-08 12:20:11,530 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [313376042] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 12:20:11,530 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 12:20:11,530 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2022-04-08 12:20:11,530 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:20:11,530 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1492396534] [2022-04-08 12:20:11,530 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1492396534] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:20:11,530 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:20:11,531 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 12:20:11,531 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [716013110] [2022-04-08 12:20:11,531 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:20:11,531 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) Word has length 60 [2022-04-08 12:20:11,531 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:20:11,531 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-08 12:20:11,566 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:11,567 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 12:20:11,567 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:11,567 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 12:20:11,567 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=167, Unknown=0, NotChecked=0, Total=210 [2022-04-08 12:20:11,567 INFO L87 Difference]: Start difference. First operand 59 states and 74 transitions. Second operand has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-08 12:20:12,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:12,349 INFO L93 Difference]: Finished difference Result 68 states and 82 transitions. [2022-04-08 12:20:12,349 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 12:20:12,349 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) Word has length 60 [2022-04-08 12:20:12,349 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:20:12,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-08 12:20:12,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 67 transitions. [2022-04-08 12:20:12,351 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-08 12:20:12,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 67 transitions. [2022-04-08 12:20:12,352 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 67 transitions. [2022-04-08 12:20:12,405 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:12,406 INFO L225 Difference]: With dead ends: 68 [2022-04-08 12:20:12,406 INFO L226 Difference]: Without dead ends: 66 [2022-04-08 12:20:12,406 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 50 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 49 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=58, Invalid=248, Unknown=0, NotChecked=0, Total=306 [2022-04-08 12:20:12,407 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-08 12:20:12,407 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-08 12:20:12,407 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-08 12:20:12,492 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 63. [2022-04-08 12:20:12,492 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:20:12,492 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 12:20:12,493 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 12:20:12,493 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 12:20:12,494 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:12,495 INFO L93 Difference]: Finished difference Result 66 states and 80 transitions. [2022-04-08 12:20:12,495 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 80 transitions. [2022-04-08 12:20:12,495 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:12,495 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:12,495 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 66 states. [2022-04-08 12:20:12,495 INFO L87 Difference]: Start difference. First operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 66 states. [2022-04-08 12:20:12,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:12,497 INFO L93 Difference]: Finished difference Result 66 states and 80 transitions. [2022-04-08 12:20:12,497 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 80 transitions. [2022-04-08 12:20:12,497 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:12,497 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:12,497 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:20:12,497 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:20:12,498 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 12:20:12,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 77 transitions. [2022-04-08 12:20:12,499 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 77 transitions. Word has length 60 [2022-04-08 12:20:12,499 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:20:12,499 INFO L478 AbstractCegarLoop]: Abstraction has 63 states and 77 transitions. [2022-04-08 12:20:12,500 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-08 12:20:12,500 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 77 transitions. [2022-04-08 12:20:12,584 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:12,584 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-04-08 12:20:12,585 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2022-04-08 12:20:12,585 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:20:12,585 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 5, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:20:12,602 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-08 12:20:12,785 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:20:12,785 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:20:12,787 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:20:12,788 INFO L85 PathProgramCache]: Analyzing trace with hash -669670075, now seen corresponding path program 1 times [2022-04-08 12:20:12,788 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:12,788 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1057581936] [2022-04-08 12:20:12,789 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:20:12,789 INFO L85 PathProgramCache]: Analyzing trace with hash -669670075, now seen corresponding path program 2 times [2022-04-08 12:20:12,789 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:20:12,789 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1943456402] [2022-04-08 12:20:12,789 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:20:12,789 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:20:12,809 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:20:12,809 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [14861574] [2022-04-08 12:20:12,809 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:20:12,809 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:20:12,809 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:20:12,816 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:20:12,829 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-08 12:20:12,868 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:20:12,868 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:20:12,869 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-08 12:20:12,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:20:12,886 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:20:13,273 INFO L272 TraceCheckUtils]: 0: Hoare triple {3004#true} call ULTIMATE.init(); {3004#true} is VALID [2022-04-08 12:20:13,276 INFO L290 TraceCheckUtils]: 1: Hoare triple {3004#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {3004#true} is VALID [2022-04-08 12:20:13,277 INFO L290 TraceCheckUtils]: 2: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 12:20:13,277 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3004#true} {3004#true} #103#return; {3004#true} is VALID [2022-04-08 12:20:13,278 INFO L272 TraceCheckUtils]: 4: Hoare triple {3004#true} call #t~ret6 := main(); {3004#true} is VALID [2022-04-08 12:20:13,278 INFO L290 TraceCheckUtils]: 5: Hoare triple {3004#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3004#true} is VALID [2022-04-08 12:20:13,282 INFO L272 TraceCheckUtils]: 6: Hoare triple {3004#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {3004#true} is VALID [2022-04-08 12:20:13,283 INFO L290 TraceCheckUtils]: 7: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 12:20:13,283 INFO L290 TraceCheckUtils]: 8: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 12:20:13,283 INFO L290 TraceCheckUtils]: 9: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 12:20:13,283 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3004#true} {3004#true} #79#return; {3004#true} is VALID [2022-04-08 12:20:13,283 INFO L290 TraceCheckUtils]: 11: Hoare triple {3004#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3004#true} is VALID [2022-04-08 12:20:13,284 INFO L272 TraceCheckUtils]: 12: Hoare triple {3004#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {3004#true} is VALID [2022-04-08 12:20:13,285 INFO L290 TraceCheckUtils]: 13: Hoare triple {3004#true} ~cond := #in~cond; {3048#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:20:13,285 INFO L290 TraceCheckUtils]: 14: Hoare triple {3048#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3052#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:13,285 INFO L290 TraceCheckUtils]: 15: Hoare triple {3052#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3052#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:13,286 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3052#(not (= |assume_abort_if_not_#in~cond| 0))} {3004#true} #81#return; {3059#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:13,286 INFO L272 TraceCheckUtils]: 17: Hoare triple {3059#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3004#true} is VALID [2022-04-08 12:20:13,286 INFO L290 TraceCheckUtils]: 18: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 12:20:13,286 INFO L290 TraceCheckUtils]: 19: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 12:20:13,286 INFO L290 TraceCheckUtils]: 20: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 12:20:13,287 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3004#true} {3059#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #83#return; {3059#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:13,287 INFO L272 TraceCheckUtils]: 22: Hoare triple {3059#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3004#true} is VALID [2022-04-08 12:20:13,287 INFO L290 TraceCheckUtils]: 23: Hoare triple {3004#true} ~cond := #in~cond; {3048#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:20:13,287 INFO L290 TraceCheckUtils]: 24: Hoare triple {3048#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3052#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:13,288 INFO L290 TraceCheckUtils]: 25: Hoare triple {3052#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3052#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:13,288 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3052#(not (= |assume_abort_if_not_#in~cond| 0))} {3059#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #85#return; {3090#(and (<= 1 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:13,291 INFO L290 TraceCheckUtils]: 27: Hoare triple {3090#(and (<= 1 main_~y~0) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-08 12:20:13,291 INFO L272 TraceCheckUtils]: 28: Hoare triple {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3004#true} is VALID [2022-04-08 12:20:13,291 INFO L290 TraceCheckUtils]: 29: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 12:20:13,292 INFO L290 TraceCheckUtils]: 30: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 12:20:13,292 INFO L290 TraceCheckUtils]: 31: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 12:20:13,292 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3004#true} {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} #87#return; {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-08 12:20:13,292 INFO L272 TraceCheckUtils]: 33: Hoare triple {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3004#true} is VALID [2022-04-08 12:20:13,292 INFO L290 TraceCheckUtils]: 34: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 12:20:13,292 INFO L290 TraceCheckUtils]: 35: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 12:20:13,293 INFO L290 TraceCheckUtils]: 36: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 12:20:13,293 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3004#true} {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} #89#return; {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-08 12:20:13,293 INFO L290 TraceCheckUtils]: 38: Hoare triple {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} assume !false; {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-08 12:20:13,293 INFO L290 TraceCheckUtils]: 39: Hoare triple {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-08 12:20:13,294 INFO L290 TraceCheckUtils]: 40: Hoare triple {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} assume !false; {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-08 12:20:13,294 INFO L272 TraceCheckUtils]: 41: Hoare triple {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3004#true} is VALID [2022-04-08 12:20:13,294 INFO L290 TraceCheckUtils]: 42: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 12:20:13,294 INFO L290 TraceCheckUtils]: 43: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 12:20:13,294 INFO L290 TraceCheckUtils]: 44: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 12:20:13,295 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3004#true} {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} #91#return; {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-08 12:20:13,295 INFO L272 TraceCheckUtils]: 46: Hoare triple {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3004#true} is VALID [2022-04-08 12:20:13,295 INFO L290 TraceCheckUtils]: 47: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 12:20:13,295 INFO L290 TraceCheckUtils]: 48: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 12:20:13,295 INFO L290 TraceCheckUtils]: 49: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 12:20:13,295 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3004#true} {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} #93#return; {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-08 12:20:13,295 INFO L272 TraceCheckUtils]: 51: Hoare triple {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3004#true} is VALID [2022-04-08 12:20:13,296 INFO L290 TraceCheckUtils]: 52: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 12:20:13,296 INFO L290 TraceCheckUtils]: 53: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 12:20:13,296 INFO L290 TraceCheckUtils]: 54: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 12:20:13,296 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3004#true} {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} #95#return; {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-08 12:20:13,296 INFO L272 TraceCheckUtils]: 56: Hoare triple {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3004#true} is VALID [2022-04-08 12:20:13,296 INFO L290 TraceCheckUtils]: 57: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 12:20:13,296 INFO L290 TraceCheckUtils]: 58: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 12:20:13,297 INFO L290 TraceCheckUtils]: 59: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 12:20:13,297 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3004#true} {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} #97#return; {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-08 12:20:13,298 INFO L290 TraceCheckUtils]: 61: Hoare triple {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {3198#(and (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= main_~b~0 1) (= (+ (- 1) main_~k~0) 0) (<= 1 main_~b~0))} is VALID [2022-04-08 12:20:13,298 INFO L290 TraceCheckUtils]: 62: Hoare triple {3198#(and (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= main_~b~0 1) (= (+ (- 1) main_~k~0) 0) (<= 1 main_~b~0))} assume !false; {3198#(and (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= main_~b~0 1) (= (+ (- 1) main_~k~0) 0) (<= 1 main_~b~0))} is VALID [2022-04-08 12:20:13,299 INFO L272 TraceCheckUtils]: 63: Hoare triple {3198#(and (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= main_~b~0 1) (= (+ (- 1) main_~k~0) 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3205#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:20:13,299 INFO L290 TraceCheckUtils]: 64: Hoare triple {3205#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3209#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:20:13,300 INFO L290 TraceCheckUtils]: 65: Hoare triple {3209#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3005#false} is VALID [2022-04-08 12:20:13,301 INFO L290 TraceCheckUtils]: 66: Hoare triple {3005#false} assume !false; {3005#false} is VALID [2022-04-08 12:20:13,301 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 17 proven. 17 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-08 12:20:13,301 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:20:13,582 INFO L290 TraceCheckUtils]: 66: Hoare triple {3005#false} assume !false; {3005#false} is VALID [2022-04-08 12:20:13,583 INFO L290 TraceCheckUtils]: 65: Hoare triple {3209#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3005#false} is VALID [2022-04-08 12:20:13,583 INFO L290 TraceCheckUtils]: 64: Hoare triple {3205#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3209#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:20:13,584 INFO L272 TraceCheckUtils]: 63: Hoare triple {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3205#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:20:13,584 INFO L290 TraceCheckUtils]: 62: Hoare triple {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 12:20:13,585 INFO L290 TraceCheckUtils]: 61: Hoare triple {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 12:20:13,586 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3004#true} {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #97#return; {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 12:20:13,586 INFO L290 TraceCheckUtils]: 59: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 12:20:13,586 INFO L290 TraceCheckUtils]: 58: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 12:20:13,586 INFO L290 TraceCheckUtils]: 57: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 12:20:13,586 INFO L272 TraceCheckUtils]: 56: Hoare triple {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3004#true} is VALID [2022-04-08 12:20:13,587 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3004#true} {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #95#return; {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 12:20:13,587 INFO L290 TraceCheckUtils]: 54: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 12:20:13,587 INFO L290 TraceCheckUtils]: 53: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 12:20:13,587 INFO L290 TraceCheckUtils]: 52: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 12:20:13,587 INFO L272 TraceCheckUtils]: 51: Hoare triple {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3004#true} is VALID [2022-04-08 12:20:13,588 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3004#true} {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #93#return; {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 12:20:13,588 INFO L290 TraceCheckUtils]: 49: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 12:20:13,588 INFO L290 TraceCheckUtils]: 48: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 12:20:13,588 INFO L290 TraceCheckUtils]: 47: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 12:20:13,588 INFO L272 TraceCheckUtils]: 46: Hoare triple {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3004#true} is VALID [2022-04-08 12:20:13,589 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3004#true} {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #91#return; {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 12:20:13,589 INFO L290 TraceCheckUtils]: 44: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 12:20:13,589 INFO L290 TraceCheckUtils]: 43: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 12:20:13,589 INFO L290 TraceCheckUtils]: 42: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 12:20:13,589 INFO L272 TraceCheckUtils]: 41: Hoare triple {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3004#true} is VALID [2022-04-08 12:20:13,597 INFO L290 TraceCheckUtils]: 40: Hoare triple {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 12:20:13,598 INFO L290 TraceCheckUtils]: 39: Hoare triple {3004#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-08 12:20:13,598 INFO L290 TraceCheckUtils]: 38: Hoare triple {3004#true} assume !false; {3004#true} is VALID [2022-04-08 12:20:13,598 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3004#true} {3004#true} #89#return; {3004#true} is VALID [2022-04-08 12:20:13,598 INFO L290 TraceCheckUtils]: 36: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 12:20:13,598 INFO L290 TraceCheckUtils]: 35: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 12:20:13,598 INFO L290 TraceCheckUtils]: 34: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 12:20:13,598 INFO L272 TraceCheckUtils]: 33: Hoare triple {3004#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3004#true} is VALID [2022-04-08 12:20:13,598 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3004#true} {3004#true} #87#return; {3004#true} is VALID [2022-04-08 12:20:13,598 INFO L290 TraceCheckUtils]: 31: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 12:20:13,598 INFO L290 TraceCheckUtils]: 30: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 12:20:13,598 INFO L290 TraceCheckUtils]: 29: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 12:20:13,599 INFO L272 TraceCheckUtils]: 28: Hoare triple {3004#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3004#true} is VALID [2022-04-08 12:20:13,599 INFO L290 TraceCheckUtils]: 27: Hoare triple {3004#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3004#true} is VALID [2022-04-08 12:20:13,599 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3004#true} {3004#true} #85#return; {3004#true} is VALID [2022-04-08 12:20:13,599 INFO L290 TraceCheckUtils]: 25: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 12:20:13,599 INFO L290 TraceCheckUtils]: 24: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 12:20:13,599 INFO L290 TraceCheckUtils]: 23: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 12:20:13,599 INFO L272 TraceCheckUtils]: 22: Hoare triple {3004#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3004#true} is VALID [2022-04-08 12:20:13,599 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3004#true} {3004#true} #83#return; {3004#true} is VALID [2022-04-08 12:20:13,599 INFO L290 TraceCheckUtils]: 20: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 12:20:13,599 INFO L290 TraceCheckUtils]: 19: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 12:20:13,599 INFO L290 TraceCheckUtils]: 18: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 12:20:13,599 INFO L272 TraceCheckUtils]: 17: Hoare triple {3004#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3004#true} is VALID [2022-04-08 12:20:13,599 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3004#true} {3004#true} #81#return; {3004#true} is VALID [2022-04-08 12:20:13,600 INFO L290 TraceCheckUtils]: 15: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 12:20:13,600 INFO L290 TraceCheckUtils]: 14: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 12:20:13,600 INFO L290 TraceCheckUtils]: 13: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 12:20:13,600 INFO L272 TraceCheckUtils]: 12: Hoare triple {3004#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {3004#true} is VALID [2022-04-08 12:20:13,600 INFO L290 TraceCheckUtils]: 11: Hoare triple {3004#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3004#true} is VALID [2022-04-08 12:20:13,600 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3004#true} {3004#true} #79#return; {3004#true} is VALID [2022-04-08 12:20:13,600 INFO L290 TraceCheckUtils]: 9: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 12:20:13,600 INFO L290 TraceCheckUtils]: 8: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-08 12:20:13,600 INFO L290 TraceCheckUtils]: 7: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-08 12:20:13,600 INFO L272 TraceCheckUtils]: 6: Hoare triple {3004#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {3004#true} is VALID [2022-04-08 12:20:13,600 INFO L290 TraceCheckUtils]: 5: Hoare triple {3004#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3004#true} is VALID [2022-04-08 12:20:13,600 INFO L272 TraceCheckUtils]: 4: Hoare triple {3004#true} call #t~ret6 := main(); {3004#true} is VALID [2022-04-08 12:20:13,601 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3004#true} {3004#true} #103#return; {3004#true} is VALID [2022-04-08 12:20:13,601 INFO L290 TraceCheckUtils]: 2: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-08 12:20:13,601 INFO L290 TraceCheckUtils]: 1: Hoare triple {3004#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {3004#true} is VALID [2022-04-08 12:20:13,601 INFO L272 TraceCheckUtils]: 0: Hoare triple {3004#true} call ULTIMATE.init(); {3004#true} is VALID [2022-04-08 12:20:13,601 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 86 trivial. 0 not checked. [2022-04-08 12:20:13,601 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:20:13,601 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1943456402] [2022-04-08 12:20:13,601 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:20:13,601 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [14861574] [2022-04-08 12:20:13,601 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [14861574] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 12:20:13,601 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 12:20:13,602 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [11] total 12 [2022-04-08 12:20:13,602 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:20:13,602 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1057581936] [2022-04-08 12:20:13,602 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1057581936] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:20:13,602 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:20:13,602 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:20:13,602 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1461107330] [2022-04-08 12:20:13,602 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:20:13,602 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) Word has length 67 [2022-04-08 12:20:13,603 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:20:13,603 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-08 12:20:13,629 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:13,630 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:20:13,630 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:13,630 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:20:13,630 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2022-04-08 12:20:13,630 INFO L87 Difference]: Start difference. First operand 63 states and 77 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-08 12:20:13,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:13,829 INFO L93 Difference]: Finished difference Result 69 states and 82 transitions. [2022-04-08 12:20:13,829 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:20:13,829 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) Word has length 67 [2022-04-08 12:20:13,829 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:20:13,829 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-08 12:20:13,830 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-08 12:20:13,830 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-08 12:20:13,831 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-08 12:20:13,832 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-08 12:20:13,865 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:13,866 INFO L225 Difference]: With dead ends: 69 [2022-04-08 12:20:13,866 INFO L226 Difference]: Without dead ends: 67 [2022-04-08 12:20:13,866 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 134 GetRequests, 121 SyntacticMatches, 2 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=126, Unknown=0, NotChecked=0, Total=156 [2022-04-08 12:20:13,867 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 6 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 38 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:20:13,867 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 137 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 12:20:13,867 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-08 12:20:13,936 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 59. [2022-04-08 12:20:13,936 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:20:13,937 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 12:20:13,937 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 12:20:13,937 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 12:20:13,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:13,939 INFO L93 Difference]: Finished difference Result 67 states and 80 transitions. [2022-04-08 12:20:13,939 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 80 transitions. [2022-04-08 12:20:13,944 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:13,944 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:13,944 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-08 12:20:13,945 INFO L87 Difference]: Start difference. First operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-08 12:20:13,947 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:13,947 INFO L93 Difference]: Finished difference Result 67 states and 80 transitions. [2022-04-08 12:20:13,947 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 80 transitions. [2022-04-08 12:20:13,947 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:13,947 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:13,947 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:20:13,947 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:20:13,947 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 12:20:13,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 71 transitions. [2022-04-08 12:20:13,949 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 71 transitions. Word has length 67 [2022-04-08 12:20:13,949 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:20:13,949 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 71 transitions. [2022-04-08 12:20:13,949 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-08 12:20:13,949 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 71 transitions. [2022-04-08 12:20:14,034 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:14,034 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 71 transitions. [2022-04-08 12:20:14,035 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-08 12:20:14,035 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:20:14,035 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 5, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:20:14,053 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-08 12:20:14,243 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:20:14,243 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:20:14,244 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:20:14,244 INFO L85 PathProgramCache]: Analyzing trace with hash -1682830289, now seen corresponding path program 1 times [2022-04-08 12:20:14,244 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:14,244 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [750696162] [2022-04-08 12:20:14,244 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:20:14,244 INFO L85 PathProgramCache]: Analyzing trace with hash -1682830289, now seen corresponding path program 2 times [2022-04-08 12:20:14,244 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:20:14,245 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1820470005] [2022-04-08 12:20:14,245 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:20:14,245 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:20:14,256 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:20:14,257 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1591135362] [2022-04-08 12:20:14,257 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:20:14,257 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:20:14,257 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:20:14,258 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:20:14,288 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-08 12:20:14,321 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:20:14,321 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:20:14,321 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 12:20:14,331 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:20:14,332 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:20:14,509 INFO L272 TraceCheckUtils]: 0: Hoare triple {3809#true} call ULTIMATE.init(); {3809#true} is VALID [2022-04-08 12:20:14,509 INFO L290 TraceCheckUtils]: 1: Hoare triple {3809#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {3809#true} is VALID [2022-04-08 12:20:14,510 INFO L290 TraceCheckUtils]: 2: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 12:20:14,510 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3809#true} {3809#true} #103#return; {3809#true} is VALID [2022-04-08 12:20:14,510 INFO L272 TraceCheckUtils]: 4: Hoare triple {3809#true} call #t~ret6 := main(); {3809#true} is VALID [2022-04-08 12:20:14,510 INFO L290 TraceCheckUtils]: 5: Hoare triple {3809#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3809#true} is VALID [2022-04-08 12:20:14,510 INFO L272 TraceCheckUtils]: 6: Hoare triple {3809#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {3809#true} is VALID [2022-04-08 12:20:14,510 INFO L290 TraceCheckUtils]: 7: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 12:20:14,510 INFO L290 TraceCheckUtils]: 8: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 12:20:14,510 INFO L290 TraceCheckUtils]: 9: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 12:20:14,510 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3809#true} {3809#true} #79#return; {3809#true} is VALID [2022-04-08 12:20:14,510 INFO L290 TraceCheckUtils]: 11: Hoare triple {3809#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3809#true} is VALID [2022-04-08 12:20:14,510 INFO L272 TraceCheckUtils]: 12: Hoare triple {3809#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {3809#true} is VALID [2022-04-08 12:20:14,510 INFO L290 TraceCheckUtils]: 13: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 12:20:14,510 INFO L290 TraceCheckUtils]: 14: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 12:20:14,511 INFO L290 TraceCheckUtils]: 15: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 12:20:14,511 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3809#true} {3809#true} #81#return; {3809#true} is VALID [2022-04-08 12:20:14,511 INFO L272 TraceCheckUtils]: 17: Hoare triple {3809#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3809#true} is VALID [2022-04-08 12:20:14,511 INFO L290 TraceCheckUtils]: 18: Hoare triple {3809#true} ~cond := #in~cond; {3868#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:20:14,511 INFO L290 TraceCheckUtils]: 19: Hoare triple {3868#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3872#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:14,512 INFO L290 TraceCheckUtils]: 20: Hoare triple {3872#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3872#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:14,512 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3872#(not (= |assume_abort_if_not_#in~cond| 0))} {3809#true} #83#return; {3879#(<= 1 main_~x~0)} is VALID [2022-04-08 12:20:14,512 INFO L272 TraceCheckUtils]: 22: Hoare triple {3879#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3809#true} is VALID [2022-04-08 12:20:14,512 INFO L290 TraceCheckUtils]: 23: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 12:20:14,512 INFO L290 TraceCheckUtils]: 24: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 12:20:14,512 INFO L290 TraceCheckUtils]: 25: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 12:20:14,513 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3809#true} {3879#(<= 1 main_~x~0)} #85#return; {3879#(<= 1 main_~x~0)} is VALID [2022-04-08 12:20:14,513 INFO L290 TraceCheckUtils]: 27: Hoare triple {3879#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3898#(<= 1 main_~a~0)} is VALID [2022-04-08 12:20:14,513 INFO L272 TraceCheckUtils]: 28: Hoare triple {3898#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3809#true} is VALID [2022-04-08 12:20:14,513 INFO L290 TraceCheckUtils]: 29: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 12:20:14,513 INFO L290 TraceCheckUtils]: 30: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 12:20:14,513 INFO L290 TraceCheckUtils]: 31: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 12:20:14,514 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3809#true} {3898#(<= 1 main_~a~0)} #87#return; {3898#(<= 1 main_~a~0)} is VALID [2022-04-08 12:20:14,514 INFO L272 TraceCheckUtils]: 33: Hoare triple {3898#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3809#true} is VALID [2022-04-08 12:20:14,514 INFO L290 TraceCheckUtils]: 34: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 12:20:14,514 INFO L290 TraceCheckUtils]: 35: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 12:20:14,514 INFO L290 TraceCheckUtils]: 36: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 12:20:14,527 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3809#true} {3898#(<= 1 main_~a~0)} #89#return; {3898#(<= 1 main_~a~0)} is VALID [2022-04-08 12:20:14,528 INFO L290 TraceCheckUtils]: 38: Hoare triple {3898#(<= 1 main_~a~0)} assume !false; {3898#(<= 1 main_~a~0)} is VALID [2022-04-08 12:20:14,528 INFO L290 TraceCheckUtils]: 39: Hoare triple {3898#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 12:20:14,528 INFO L290 TraceCheckUtils]: 40: Hoare triple {3935#(<= 1 main_~c~0)} assume !false; {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 12:20:14,528 INFO L272 TraceCheckUtils]: 41: Hoare triple {3935#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3809#true} is VALID [2022-04-08 12:20:14,529 INFO L290 TraceCheckUtils]: 42: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 12:20:14,529 INFO L290 TraceCheckUtils]: 43: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 12:20:14,529 INFO L290 TraceCheckUtils]: 44: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 12:20:14,529 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #91#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 12:20:14,529 INFO L272 TraceCheckUtils]: 46: Hoare triple {3935#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3809#true} is VALID [2022-04-08 12:20:14,529 INFO L290 TraceCheckUtils]: 47: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 12:20:14,529 INFO L290 TraceCheckUtils]: 48: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 12:20:14,529 INFO L290 TraceCheckUtils]: 49: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 12:20:14,530 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #93#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 12:20:14,530 INFO L272 TraceCheckUtils]: 51: Hoare triple {3935#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3809#true} is VALID [2022-04-08 12:20:14,530 INFO L290 TraceCheckUtils]: 52: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 12:20:14,530 INFO L290 TraceCheckUtils]: 53: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 12:20:14,530 INFO L290 TraceCheckUtils]: 54: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 12:20:14,531 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #95#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 12:20:14,531 INFO L272 TraceCheckUtils]: 56: Hoare triple {3935#(<= 1 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3809#true} is VALID [2022-04-08 12:20:14,531 INFO L290 TraceCheckUtils]: 57: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 12:20:14,531 INFO L290 TraceCheckUtils]: 58: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 12:20:14,531 INFO L290 TraceCheckUtils]: 59: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 12:20:14,532 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #97#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 12:20:14,532 INFO L290 TraceCheckUtils]: 61: Hoare triple {3935#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 12:20:14,533 INFO L290 TraceCheckUtils]: 62: Hoare triple {3935#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4005#(<= 1 main_~b~0)} is VALID [2022-04-08 12:20:14,533 INFO L290 TraceCheckUtils]: 63: Hoare triple {4005#(<= 1 main_~b~0)} assume !false; {4005#(<= 1 main_~b~0)} is VALID [2022-04-08 12:20:14,533 INFO L290 TraceCheckUtils]: 64: Hoare triple {4005#(<= 1 main_~b~0)} assume !(0 != ~b~0); {3810#false} is VALID [2022-04-08 12:20:14,533 INFO L272 TraceCheckUtils]: 65: Hoare triple {3810#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {3810#false} is VALID [2022-04-08 12:20:14,533 INFO L290 TraceCheckUtils]: 66: Hoare triple {3810#false} ~cond := #in~cond; {3810#false} is VALID [2022-04-08 12:20:14,533 INFO L290 TraceCheckUtils]: 67: Hoare triple {3810#false} assume 0 == ~cond; {3810#false} is VALID [2022-04-08 12:20:14,533 INFO L290 TraceCheckUtils]: 68: Hoare triple {3810#false} assume !false; {3810#false} is VALID [2022-04-08 12:20:14,534 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 14 proven. 11 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-04-08 12:20:14,534 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:20:14,788 INFO L290 TraceCheckUtils]: 68: Hoare triple {3810#false} assume !false; {3810#false} is VALID [2022-04-08 12:20:14,788 INFO L290 TraceCheckUtils]: 67: Hoare triple {3810#false} assume 0 == ~cond; {3810#false} is VALID [2022-04-08 12:20:14,788 INFO L290 TraceCheckUtils]: 66: Hoare triple {3810#false} ~cond := #in~cond; {3810#false} is VALID [2022-04-08 12:20:14,789 INFO L272 TraceCheckUtils]: 65: Hoare triple {3810#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {3810#false} is VALID [2022-04-08 12:20:14,789 INFO L290 TraceCheckUtils]: 64: Hoare triple {4005#(<= 1 main_~b~0)} assume !(0 != ~b~0); {3810#false} is VALID [2022-04-08 12:20:14,789 INFO L290 TraceCheckUtils]: 63: Hoare triple {4005#(<= 1 main_~b~0)} assume !false; {4005#(<= 1 main_~b~0)} is VALID [2022-04-08 12:20:14,790 INFO L290 TraceCheckUtils]: 62: Hoare triple {3935#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4005#(<= 1 main_~b~0)} is VALID [2022-04-08 12:20:14,790 INFO L290 TraceCheckUtils]: 61: Hoare triple {3935#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 12:20:14,790 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #97#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 12:20:14,791 INFO L290 TraceCheckUtils]: 59: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 12:20:14,791 INFO L290 TraceCheckUtils]: 58: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 12:20:14,791 INFO L290 TraceCheckUtils]: 57: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 12:20:14,791 INFO L272 TraceCheckUtils]: 56: Hoare triple {3935#(<= 1 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3809#true} is VALID [2022-04-08 12:20:14,791 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #95#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 12:20:14,791 INFO L290 TraceCheckUtils]: 54: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 12:20:14,791 INFO L290 TraceCheckUtils]: 53: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 12:20:14,792 INFO L290 TraceCheckUtils]: 52: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 12:20:14,792 INFO L272 TraceCheckUtils]: 51: Hoare triple {3935#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3809#true} is VALID [2022-04-08 12:20:14,792 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #93#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 12:20:14,792 INFO L290 TraceCheckUtils]: 49: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 12:20:14,792 INFO L290 TraceCheckUtils]: 48: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 12:20:14,792 INFO L290 TraceCheckUtils]: 47: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 12:20:14,792 INFO L272 TraceCheckUtils]: 46: Hoare triple {3935#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3809#true} is VALID [2022-04-08 12:20:14,793 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #91#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 12:20:14,793 INFO L290 TraceCheckUtils]: 44: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 12:20:14,794 INFO L290 TraceCheckUtils]: 43: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 12:20:14,794 INFO L290 TraceCheckUtils]: 42: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 12:20:14,794 INFO L272 TraceCheckUtils]: 41: Hoare triple {3935#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3809#true} is VALID [2022-04-08 12:20:14,794 INFO L290 TraceCheckUtils]: 40: Hoare triple {3935#(<= 1 main_~c~0)} assume !false; {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 12:20:14,794 INFO L290 TraceCheckUtils]: 39: Hoare triple {3898#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3935#(<= 1 main_~c~0)} is VALID [2022-04-08 12:20:14,795 INFO L290 TraceCheckUtils]: 38: Hoare triple {3898#(<= 1 main_~a~0)} assume !false; {3898#(<= 1 main_~a~0)} is VALID [2022-04-08 12:20:14,795 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3809#true} {3898#(<= 1 main_~a~0)} #89#return; {3898#(<= 1 main_~a~0)} is VALID [2022-04-08 12:20:14,795 INFO L290 TraceCheckUtils]: 36: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 12:20:14,795 INFO L290 TraceCheckUtils]: 35: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 12:20:14,795 INFO L290 TraceCheckUtils]: 34: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 12:20:14,795 INFO L272 TraceCheckUtils]: 33: Hoare triple {3898#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3809#true} is VALID [2022-04-08 12:20:14,796 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3809#true} {3898#(<= 1 main_~a~0)} #87#return; {3898#(<= 1 main_~a~0)} is VALID [2022-04-08 12:20:14,796 INFO L290 TraceCheckUtils]: 31: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 12:20:14,796 INFO L290 TraceCheckUtils]: 30: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 12:20:14,796 INFO L290 TraceCheckUtils]: 29: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 12:20:14,796 INFO L272 TraceCheckUtils]: 28: Hoare triple {3898#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3809#true} is VALID [2022-04-08 12:20:14,796 INFO L290 TraceCheckUtils]: 27: Hoare triple {3879#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3898#(<= 1 main_~a~0)} is VALID [2022-04-08 12:20:14,797 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3809#true} {3879#(<= 1 main_~x~0)} #85#return; {3879#(<= 1 main_~x~0)} is VALID [2022-04-08 12:20:14,797 INFO L290 TraceCheckUtils]: 25: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 12:20:14,797 INFO L290 TraceCheckUtils]: 24: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 12:20:14,797 INFO L290 TraceCheckUtils]: 23: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 12:20:14,797 INFO L272 TraceCheckUtils]: 22: Hoare triple {3879#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3809#true} is VALID [2022-04-08 12:20:14,797 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3872#(not (= |assume_abort_if_not_#in~cond| 0))} {3809#true} #83#return; {3879#(<= 1 main_~x~0)} is VALID [2022-04-08 12:20:14,798 INFO L290 TraceCheckUtils]: 20: Hoare triple {3872#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3872#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:14,798 INFO L290 TraceCheckUtils]: 19: Hoare triple {4174#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {3872#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:14,799 INFO L290 TraceCheckUtils]: 18: Hoare triple {3809#true} ~cond := #in~cond; {4174#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 12:20:14,799 INFO L272 TraceCheckUtils]: 17: Hoare triple {3809#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3809#true} is VALID [2022-04-08 12:20:14,799 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3809#true} {3809#true} #81#return; {3809#true} is VALID [2022-04-08 12:20:14,799 INFO L290 TraceCheckUtils]: 15: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 12:20:14,799 INFO L290 TraceCheckUtils]: 14: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 12:20:14,799 INFO L290 TraceCheckUtils]: 13: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 12:20:14,799 INFO L272 TraceCheckUtils]: 12: Hoare triple {3809#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {3809#true} is VALID [2022-04-08 12:20:14,799 INFO L290 TraceCheckUtils]: 11: Hoare triple {3809#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3809#true} is VALID [2022-04-08 12:20:14,799 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3809#true} {3809#true} #79#return; {3809#true} is VALID [2022-04-08 12:20:14,799 INFO L290 TraceCheckUtils]: 9: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 12:20:14,799 INFO L290 TraceCheckUtils]: 8: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-08 12:20:14,799 INFO L290 TraceCheckUtils]: 7: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-08 12:20:14,800 INFO L272 TraceCheckUtils]: 6: Hoare triple {3809#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {3809#true} is VALID [2022-04-08 12:20:14,800 INFO L290 TraceCheckUtils]: 5: Hoare triple {3809#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3809#true} is VALID [2022-04-08 12:20:14,800 INFO L272 TraceCheckUtils]: 4: Hoare triple {3809#true} call #t~ret6 := main(); {3809#true} is VALID [2022-04-08 12:20:14,800 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3809#true} {3809#true} #103#return; {3809#true} is VALID [2022-04-08 12:20:14,800 INFO L290 TraceCheckUtils]: 2: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-08 12:20:14,800 INFO L290 TraceCheckUtils]: 1: Hoare triple {3809#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {3809#true} is VALID [2022-04-08 12:20:14,800 INFO L272 TraceCheckUtils]: 0: Hoare triple {3809#true} call ULTIMATE.init(); {3809#true} is VALID [2022-04-08 12:20:14,800 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 14 proven. 11 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-04-08 12:20:14,800 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:20:14,800 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1820470005] [2022-04-08 12:20:14,800 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:20:14,801 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1591135362] [2022-04-08 12:20:14,801 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1591135362] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:20:14,801 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:20:14,801 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-08 12:20:14,801 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:20:14,801 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [750696162] [2022-04-08 12:20:14,801 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [750696162] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:20:14,801 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:20:14,801 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 12:20:14,801 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1141385687] [2022-04-08 12:20:14,801 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:20:14,802 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-08 12:20:14,802 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:20:14,802 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 12:20:14,833 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:14,833 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 12:20:14,833 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:14,834 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 12:20:14,834 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-08 12:20:14,834 INFO L87 Difference]: Start difference. First operand 59 states and 71 transitions. Second operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 12:20:15,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:15,573 INFO L93 Difference]: Finished difference Result 106 states and 146 transitions. [2022-04-08 12:20:15,573 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 12:20:15,573 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-08 12:20:15,574 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:20:15,574 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 12:20:15,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 110 transitions. [2022-04-08 12:20:15,578 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 12:20:15,581 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 110 transitions. [2022-04-08 12:20:15,581 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 110 transitions. [2022-04-08 12:20:15,669 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:15,675 INFO L225 Difference]: With dead ends: 106 [2022-04-08 12:20:15,675 INFO L226 Difference]: Without dead ends: 98 [2022-04-08 12:20:15,676 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 142 GetRequests, 129 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-08 12:20:15,676 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-08 12:20:15,676 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-08 12:20:15,677 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-08 12:20:15,843 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 89. [2022-04-08 12:20:15,843 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:20:15,843 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 12:20:15,844 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 12:20:15,844 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 12:20:15,856 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:15,856 INFO L93 Difference]: Finished difference Result 98 states and 137 transitions. [2022-04-08 12:20:15,856 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2022-04-08 12:20:15,857 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:15,857 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:15,858 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) Second operand 98 states. [2022-04-08 12:20:15,858 INFO L87 Difference]: Start difference. First operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) Second operand 98 states. [2022-04-08 12:20:15,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:15,861 INFO L93 Difference]: Finished difference Result 98 states and 137 transitions. [2022-04-08 12:20:15,861 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2022-04-08 12:20:15,861 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:15,861 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:15,861 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:20:15,861 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:20:15,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 12:20:15,864 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 122 transitions. [2022-04-08 12:20:15,864 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 122 transitions. Word has length 69 [2022-04-08 12:20:15,864 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:20:15,864 INFO L478 AbstractCegarLoop]: Abstraction has 89 states and 122 transitions. [2022-04-08 12:20:15,864 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 12:20:15,864 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 122 transitions. [2022-04-08 12:20:16,021 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:16,021 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 122 transitions. [2022-04-08 12:20:16,021 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-08 12:20:16,022 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:20:16,022 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 6, 5, 5, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:20:16,038 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-08 12:20:16,227 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:20:16,227 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:20:16,227 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:20:16,228 INFO L85 PathProgramCache]: Analyzing trace with hash 376741854, now seen corresponding path program 1 times [2022-04-08 12:20:16,228 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:16,228 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2130545077] [2022-04-08 12:20:16,228 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:20:16,228 INFO L85 PathProgramCache]: Analyzing trace with hash 376741854, now seen corresponding path program 2 times [2022-04-08 12:20:16,228 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:20:16,228 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [559574205] [2022-04-08 12:20:16,228 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:20:16,228 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:20:16,246 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:20:16,246 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [749014036] [2022-04-08 12:20:16,246 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:20:16,246 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:20:16,246 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:20:16,248 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:20:16,249 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-08 12:20:16,288 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:20:16,288 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:20:16,289 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 12:20:16,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:20:16,300 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:20:16,596 INFO L272 TraceCheckUtils]: 0: Hoare triple {4827#true} call ULTIMATE.init(); {4827#true} is VALID [2022-04-08 12:20:16,596 INFO L290 TraceCheckUtils]: 1: Hoare triple {4827#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {4827#true} is VALID [2022-04-08 12:20:16,596 INFO L290 TraceCheckUtils]: 2: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 12:20:16,596 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4827#true} {4827#true} #103#return; {4827#true} is VALID [2022-04-08 12:20:16,596 INFO L272 TraceCheckUtils]: 4: Hoare triple {4827#true} call #t~ret6 := main(); {4827#true} is VALID [2022-04-08 12:20:16,596 INFO L290 TraceCheckUtils]: 5: Hoare triple {4827#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4827#true} is VALID [2022-04-08 12:20:16,596 INFO L272 TraceCheckUtils]: 6: Hoare triple {4827#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {4827#true} is VALID [2022-04-08 12:20:16,596 INFO L290 TraceCheckUtils]: 7: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 12:20:16,597 INFO L290 TraceCheckUtils]: 8: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 12:20:16,597 INFO L290 TraceCheckUtils]: 9: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 12:20:16,597 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4827#true} {4827#true} #79#return; {4827#true} is VALID [2022-04-08 12:20:16,597 INFO L290 TraceCheckUtils]: 11: Hoare triple {4827#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4827#true} is VALID [2022-04-08 12:20:16,597 INFO L272 TraceCheckUtils]: 12: Hoare triple {4827#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {4827#true} is VALID [2022-04-08 12:20:16,597 INFO L290 TraceCheckUtils]: 13: Hoare triple {4827#true} ~cond := #in~cond; {4871#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:20:16,597 INFO L290 TraceCheckUtils]: 14: Hoare triple {4871#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4875#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:16,598 INFO L290 TraceCheckUtils]: 15: Hoare triple {4875#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4875#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:16,598 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4875#(not (= |assume_abort_if_not_#in~cond| 0))} {4827#true} #81#return; {4882#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:16,598 INFO L272 TraceCheckUtils]: 17: Hoare triple {4882#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4827#true} is VALID [2022-04-08 12:20:16,599 INFO L290 TraceCheckUtils]: 18: Hoare triple {4827#true} ~cond := #in~cond; {4871#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:20:16,599 INFO L290 TraceCheckUtils]: 19: Hoare triple {4871#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4875#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:16,599 INFO L290 TraceCheckUtils]: 20: Hoare triple {4875#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4875#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:16,600 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4875#(not (= |assume_abort_if_not_#in~cond| 0))} {4882#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #83#return; {4898#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:16,600 INFO L272 TraceCheckUtils]: 22: Hoare triple {4898#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4827#true} is VALID [2022-04-08 12:20:16,600 INFO L290 TraceCheckUtils]: 23: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 12:20:16,600 INFO L290 TraceCheckUtils]: 24: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 12:20:16,600 INFO L290 TraceCheckUtils]: 25: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 12:20:16,601 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4827#true} {4898#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} #85#return; {4898#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:16,601 INFO L290 TraceCheckUtils]: 27: Hoare triple {4898#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} is VALID [2022-04-08 12:20:16,601 INFO L272 TraceCheckUtils]: 28: Hoare triple {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4827#true} is VALID [2022-04-08 12:20:16,601 INFO L290 TraceCheckUtils]: 29: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 12:20:16,601 INFO L290 TraceCheckUtils]: 30: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 12:20:16,601 INFO L290 TraceCheckUtils]: 31: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 12:20:16,602 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4827#true} {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} #87#return; {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} is VALID [2022-04-08 12:20:16,602 INFO L272 TraceCheckUtils]: 33: Hoare triple {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4827#true} is VALID [2022-04-08 12:20:16,602 INFO L290 TraceCheckUtils]: 34: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 12:20:16,602 INFO L290 TraceCheckUtils]: 35: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 12:20:16,602 INFO L290 TraceCheckUtils]: 36: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 12:20:16,602 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4827#true} {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} #89#return; {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} is VALID [2022-04-08 12:20:16,603 INFO L290 TraceCheckUtils]: 38: Hoare triple {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} assume !false; {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} is VALID [2022-04-08 12:20:16,603 INFO L290 TraceCheckUtils]: 39: Hoare triple {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-08 12:20:16,603 INFO L290 TraceCheckUtils]: 40: Hoare triple {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} assume !false; {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-08 12:20:16,604 INFO L272 TraceCheckUtils]: 41: Hoare triple {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4827#true} is VALID [2022-04-08 12:20:16,604 INFO L290 TraceCheckUtils]: 42: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 12:20:16,604 INFO L290 TraceCheckUtils]: 43: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 12:20:16,604 INFO L290 TraceCheckUtils]: 44: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 12:20:16,604 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4827#true} {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} #91#return; {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-08 12:20:16,604 INFO L272 TraceCheckUtils]: 46: Hoare triple {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4827#true} is VALID [2022-04-08 12:20:16,604 INFO L290 TraceCheckUtils]: 47: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 12:20:16,604 INFO L290 TraceCheckUtils]: 48: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 12:20:16,604 INFO L290 TraceCheckUtils]: 49: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 12:20:16,605 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4827#true} {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} #93#return; {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-08 12:20:16,605 INFO L272 TraceCheckUtils]: 51: Hoare triple {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4827#true} is VALID [2022-04-08 12:20:16,605 INFO L290 TraceCheckUtils]: 52: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 12:20:16,605 INFO L290 TraceCheckUtils]: 53: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 12:20:16,605 INFO L290 TraceCheckUtils]: 54: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 12:20:16,606 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4827#true} {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} #95#return; {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-08 12:20:16,606 INFO L272 TraceCheckUtils]: 56: Hoare triple {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {4827#true} is VALID [2022-04-08 12:20:16,606 INFO L290 TraceCheckUtils]: 57: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 12:20:16,606 INFO L290 TraceCheckUtils]: 58: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 12:20:16,606 INFO L290 TraceCheckUtils]: 59: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 12:20:16,607 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {4827#true} {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} #97#return; {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-08 12:20:16,607 INFO L290 TraceCheckUtils]: 61: Hoare triple {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} assume !(~c~0 >= ~b~0); {4828#false} is VALID [2022-04-08 12:20:16,607 INFO L290 TraceCheckUtils]: 62: Hoare triple {4828#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4828#false} is VALID [2022-04-08 12:20:16,607 INFO L290 TraceCheckUtils]: 63: Hoare triple {4828#false} assume !false; {4828#false} is VALID [2022-04-08 12:20:16,607 INFO L290 TraceCheckUtils]: 64: Hoare triple {4828#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4828#false} is VALID [2022-04-08 12:20:16,607 INFO L290 TraceCheckUtils]: 65: Hoare triple {4828#false} assume !false; {4828#false} is VALID [2022-04-08 12:20:16,607 INFO L272 TraceCheckUtils]: 66: Hoare triple {4828#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4828#false} is VALID [2022-04-08 12:20:16,608 INFO L290 TraceCheckUtils]: 67: Hoare triple {4828#false} ~cond := #in~cond; {4828#false} is VALID [2022-04-08 12:20:16,608 INFO L290 TraceCheckUtils]: 68: Hoare triple {4828#false} assume !(0 == ~cond); {4828#false} is VALID [2022-04-08 12:20:16,608 INFO L290 TraceCheckUtils]: 69: Hoare triple {4828#false} assume true; {4828#false} is VALID [2022-04-08 12:20:16,608 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {4828#false} {4828#false} #91#return; {4828#false} is VALID [2022-04-08 12:20:16,608 INFO L272 TraceCheckUtils]: 71: Hoare triple {4828#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4828#false} is VALID [2022-04-08 12:20:16,608 INFO L290 TraceCheckUtils]: 72: Hoare triple {4828#false} ~cond := #in~cond; {4828#false} is VALID [2022-04-08 12:20:16,608 INFO L290 TraceCheckUtils]: 73: Hoare triple {4828#false} assume 0 == ~cond; {4828#false} is VALID [2022-04-08 12:20:16,608 INFO L290 TraceCheckUtils]: 74: Hoare triple {4828#false} assume !false; {4828#false} is VALID [2022-04-08 12:20:16,608 INFO L134 CoverageAnalysis]: Checked inductivity of 115 backedges. 35 proven. 18 refuted. 0 times theorem prover too weak. 62 trivial. 0 not checked. [2022-04-08 12:20:16,608 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:20:16,963 INFO L290 TraceCheckUtils]: 74: Hoare triple {4828#false} assume !false; {4828#false} is VALID [2022-04-08 12:20:16,963 INFO L290 TraceCheckUtils]: 73: Hoare triple {4828#false} assume 0 == ~cond; {4828#false} is VALID [2022-04-08 12:20:16,963 INFO L290 TraceCheckUtils]: 72: Hoare triple {4828#false} ~cond := #in~cond; {4828#false} is VALID [2022-04-08 12:20:16,963 INFO L272 TraceCheckUtils]: 71: Hoare triple {4828#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4828#false} is VALID [2022-04-08 12:20:16,963 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {4827#true} {4828#false} #91#return; {4828#false} is VALID [2022-04-08 12:20:16,963 INFO L290 TraceCheckUtils]: 69: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 12:20:16,963 INFO L290 TraceCheckUtils]: 68: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 12:20:16,963 INFO L290 TraceCheckUtils]: 67: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 12:20:16,964 INFO L272 TraceCheckUtils]: 66: Hoare triple {4828#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4827#true} is VALID [2022-04-08 12:20:16,964 INFO L290 TraceCheckUtils]: 65: Hoare triple {4828#false} assume !false; {4828#false} is VALID [2022-04-08 12:20:16,964 INFO L290 TraceCheckUtils]: 64: Hoare triple {4828#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4828#false} is VALID [2022-04-08 12:20:16,964 INFO L290 TraceCheckUtils]: 63: Hoare triple {4828#false} assume !false; {4828#false} is VALID [2022-04-08 12:20:16,964 INFO L290 TraceCheckUtils]: 62: Hoare triple {4828#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4828#false} is VALID [2022-04-08 12:20:16,964 INFO L290 TraceCheckUtils]: 61: Hoare triple {5099#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {4828#false} is VALID [2022-04-08 12:20:16,978 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {4827#true} {5099#(<= main_~b~0 main_~c~0)} #97#return; {5099#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 12:20:16,978 INFO L290 TraceCheckUtils]: 59: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 12:20:16,978 INFO L290 TraceCheckUtils]: 58: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 12:20:16,978 INFO L290 TraceCheckUtils]: 57: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 12:20:16,978 INFO L272 TraceCheckUtils]: 56: Hoare triple {5099#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {4827#true} is VALID [2022-04-08 12:20:16,979 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4827#true} {5099#(<= main_~b~0 main_~c~0)} #95#return; {5099#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 12:20:16,979 INFO L290 TraceCheckUtils]: 54: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 12:20:16,979 INFO L290 TraceCheckUtils]: 53: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 12:20:16,979 INFO L290 TraceCheckUtils]: 52: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 12:20:16,979 INFO L272 TraceCheckUtils]: 51: Hoare triple {5099#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4827#true} is VALID [2022-04-08 12:20:16,980 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4827#true} {5099#(<= main_~b~0 main_~c~0)} #93#return; {5099#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 12:20:16,980 INFO L290 TraceCheckUtils]: 49: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 12:20:16,980 INFO L290 TraceCheckUtils]: 48: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 12:20:16,980 INFO L290 TraceCheckUtils]: 47: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 12:20:16,981 INFO L272 TraceCheckUtils]: 46: Hoare triple {5099#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4827#true} is VALID [2022-04-08 12:20:16,981 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4827#true} {5099#(<= main_~b~0 main_~c~0)} #91#return; {5099#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 12:20:16,981 INFO L290 TraceCheckUtils]: 44: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 12:20:16,981 INFO L290 TraceCheckUtils]: 43: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 12:20:16,981 INFO L290 TraceCheckUtils]: 42: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 12:20:16,981 INFO L272 TraceCheckUtils]: 41: Hoare triple {5099#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4827#true} is VALID [2022-04-08 12:20:16,982 INFO L290 TraceCheckUtils]: 40: Hoare triple {5099#(<= main_~b~0 main_~c~0)} assume !false; {5099#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 12:20:16,982 INFO L290 TraceCheckUtils]: 39: Hoare triple {5166#(<= main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5099#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 12:20:16,982 INFO L290 TraceCheckUtils]: 38: Hoare triple {5166#(<= main_~b~0 main_~a~0)} assume !false; {5166#(<= main_~b~0 main_~a~0)} is VALID [2022-04-08 12:20:16,983 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4827#true} {5166#(<= main_~b~0 main_~a~0)} #89#return; {5166#(<= main_~b~0 main_~a~0)} is VALID [2022-04-08 12:20:16,983 INFO L290 TraceCheckUtils]: 36: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 12:20:16,983 INFO L290 TraceCheckUtils]: 35: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 12:20:16,983 INFO L290 TraceCheckUtils]: 34: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 12:20:16,983 INFO L272 TraceCheckUtils]: 33: Hoare triple {5166#(<= main_~b~0 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4827#true} is VALID [2022-04-08 12:20:16,984 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4827#true} {5166#(<= main_~b~0 main_~a~0)} #87#return; {5166#(<= main_~b~0 main_~a~0)} is VALID [2022-04-08 12:20:16,984 INFO L290 TraceCheckUtils]: 31: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 12:20:16,984 INFO L290 TraceCheckUtils]: 30: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 12:20:16,984 INFO L290 TraceCheckUtils]: 29: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 12:20:16,984 INFO L272 TraceCheckUtils]: 28: Hoare triple {5166#(<= main_~b~0 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4827#true} is VALID [2022-04-08 12:20:16,984 INFO L290 TraceCheckUtils]: 27: Hoare triple {5203#(<= main_~y~0 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {5166#(<= main_~b~0 main_~a~0)} is VALID [2022-04-08 12:20:16,985 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4827#true} {5203#(<= main_~y~0 main_~x~0)} #85#return; {5203#(<= main_~y~0 main_~x~0)} is VALID [2022-04-08 12:20:16,985 INFO L290 TraceCheckUtils]: 25: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 12:20:16,985 INFO L290 TraceCheckUtils]: 24: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 12:20:16,985 INFO L290 TraceCheckUtils]: 23: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 12:20:16,985 INFO L272 TraceCheckUtils]: 22: Hoare triple {5203#(<= main_~y~0 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4827#true} is VALID [2022-04-08 12:20:16,986 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4875#(not (= |assume_abort_if_not_#in~cond| 0))} {5222#(<= main_~y~0 1)} #83#return; {5203#(<= main_~y~0 main_~x~0)} is VALID [2022-04-08 12:20:16,986 INFO L290 TraceCheckUtils]: 20: Hoare triple {4875#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4875#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:16,986 INFO L290 TraceCheckUtils]: 19: Hoare triple {5232#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4875#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:16,987 INFO L290 TraceCheckUtils]: 18: Hoare triple {4827#true} ~cond := #in~cond; {5232#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 12:20:16,987 INFO L272 TraceCheckUtils]: 17: Hoare triple {5222#(<= main_~y~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4827#true} is VALID [2022-04-08 12:20:16,987 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4875#(not (= |assume_abort_if_not_#in~cond| 0))} {4827#true} #81#return; {5222#(<= main_~y~0 1)} is VALID [2022-04-08 12:20:16,988 INFO L290 TraceCheckUtils]: 15: Hoare triple {4875#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4875#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:16,988 INFO L290 TraceCheckUtils]: 14: Hoare triple {5232#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4875#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:16,988 INFO L290 TraceCheckUtils]: 13: Hoare triple {4827#true} ~cond := #in~cond; {5232#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 12:20:16,988 INFO L272 TraceCheckUtils]: 12: Hoare triple {4827#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {4827#true} is VALID [2022-04-08 12:20:16,988 INFO L290 TraceCheckUtils]: 11: Hoare triple {4827#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4827#true} is VALID [2022-04-08 12:20:16,989 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4827#true} {4827#true} #79#return; {4827#true} is VALID [2022-04-08 12:20:16,989 INFO L290 TraceCheckUtils]: 9: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 12:20:16,989 INFO L290 TraceCheckUtils]: 8: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-08 12:20:16,989 INFO L290 TraceCheckUtils]: 7: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-08 12:20:16,989 INFO L272 TraceCheckUtils]: 6: Hoare triple {4827#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {4827#true} is VALID [2022-04-08 12:20:16,989 INFO L290 TraceCheckUtils]: 5: Hoare triple {4827#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4827#true} is VALID [2022-04-08 12:20:16,989 INFO L272 TraceCheckUtils]: 4: Hoare triple {4827#true} call #t~ret6 := main(); {4827#true} is VALID [2022-04-08 12:20:16,989 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4827#true} {4827#true} #103#return; {4827#true} is VALID [2022-04-08 12:20:16,989 INFO L290 TraceCheckUtils]: 2: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-08 12:20:16,989 INFO L290 TraceCheckUtils]: 1: Hoare triple {4827#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {4827#true} is VALID [2022-04-08 12:20:16,989 INFO L272 TraceCheckUtils]: 0: Hoare triple {4827#true} call ULTIMATE.init(); {4827#true} is VALID [2022-04-08 12:20:16,990 INFO L134 CoverageAnalysis]: Checked inductivity of 115 backedges. 21 proven. 18 refuted. 0 times theorem prover too weak. 76 trivial. 0 not checked. [2022-04-08 12:20:16,990 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:20:16,990 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [559574205] [2022-04-08 12:20:16,990 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:20:16,990 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [749014036] [2022-04-08 12:20:16,990 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [749014036] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:20:16,990 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:20:16,990 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2022-04-08 12:20:16,990 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:20:16,990 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2130545077] [2022-04-08 12:20:16,990 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2130545077] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:20:16,990 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:20:16,990 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 12:20:16,991 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [788247437] [2022-04-08 12:20:16,991 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:20:16,991 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) Word has length 75 [2022-04-08 12:20:16,991 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:20:16,991 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 12:20:17,027 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:17,027 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 12:20:17,027 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:17,028 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 12:20:17,028 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=125, Unknown=0, NotChecked=0, Total=156 [2022-04-08 12:20:17,028 INFO L87 Difference]: Start difference. First operand 89 states and 122 transitions. Second operand has 8 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 12:20:17,512 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:17,513 INFO L93 Difference]: Finished difference Result 111 states and 149 transitions. [2022-04-08 12:20:17,513 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 12:20:17,513 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) Word has length 75 [2022-04-08 12:20:17,513 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:20:17,513 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 12:20:17,514 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 94 transitions. [2022-04-08 12:20:17,515 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 12:20:17,516 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 94 transitions. [2022-04-08 12:20:17,516 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 94 transitions. [2022-04-08 12:20:17,590 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:17,591 INFO L225 Difference]: With dead ends: 111 [2022-04-08 12:20:17,591 INFO L226 Difference]: Without dead ends: 66 [2022-04-08 12:20:17,592 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 152 GetRequests, 138 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-04-08 12:20:17,592 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 21 mSDsluCounter, 136 mSDsCounter, 0 mSdLazyCounter, 129 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 151 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 129 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:20:17,592 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [27 Valid, 178 Invalid, 151 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 129 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 12:20:17,592 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-08 12:20:17,689 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 65. [2022-04-08 12:20:17,690 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:20:17,690 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 65 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 36 states have internal predecessors, (39), 22 states have call successors, (22), 8 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 12:20:17,690 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 65 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 36 states have internal predecessors, (39), 22 states have call successors, (22), 8 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 12:20:17,690 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 65 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 36 states have internal predecessors, (39), 22 states have call successors, (22), 8 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 12:20:17,692 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:17,692 INFO L93 Difference]: Finished difference Result 66 states and 82 transitions. [2022-04-08 12:20:17,692 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 82 transitions. [2022-04-08 12:20:17,692 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:17,692 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:17,692 INFO L74 IsIncluded]: Start isIncluded. First operand has 65 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 36 states have internal predecessors, (39), 22 states have call successors, (22), 8 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 66 states. [2022-04-08 12:20:17,692 INFO L87 Difference]: Start difference. First operand has 65 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 36 states have internal predecessors, (39), 22 states have call successors, (22), 8 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 66 states. [2022-04-08 12:20:17,694 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:17,694 INFO L93 Difference]: Finished difference Result 66 states and 82 transitions. [2022-04-08 12:20:17,694 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 82 transitions. [2022-04-08 12:20:17,694 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:17,694 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:17,694 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:20:17,694 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:20:17,694 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 36 states have internal predecessors, (39), 22 states have call successors, (22), 8 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 12:20:17,696 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 81 transitions. [2022-04-08 12:20:17,696 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 81 transitions. Word has length 75 [2022-04-08 12:20:17,696 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:20:17,696 INFO L478 AbstractCegarLoop]: Abstraction has 65 states and 81 transitions. [2022-04-08 12:20:17,696 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-08 12:20:17,696 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 65 states and 81 transitions. [2022-04-08 12:20:17,797 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:17,797 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 81 transitions. [2022-04-08 12:20:17,797 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-08 12:20:17,797 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:20:17,797 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 6, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:20:17,813 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-08 12:20:18,010 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-08 12:20:18,011 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:20:18,011 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:20:18,011 INFO L85 PathProgramCache]: Analyzing trace with hash -686534738, now seen corresponding path program 1 times [2022-04-08 12:20:18,011 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:18,011 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1823103830] [2022-04-08 12:20:18,011 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:20:18,012 INFO L85 PathProgramCache]: Analyzing trace with hash -686534738, now seen corresponding path program 2 times [2022-04-08 12:20:18,012 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:20:18,012 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [386944450] [2022-04-08 12:20:18,012 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:20:18,012 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:20:18,023 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:20:18,023 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1061840477] [2022-04-08 12:20:18,023 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:20:18,023 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:20:18,024 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:20:18,024 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:20:18,025 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-08 12:20:18,069 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:20:18,070 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:20:18,071 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-08 12:20:18,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:20:18,085 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:20:19,781 INFO L272 TraceCheckUtils]: 0: Hoare triple {5779#true} call ULTIMATE.init(); {5779#true} is VALID [2022-04-08 12:20:19,781 INFO L290 TraceCheckUtils]: 1: Hoare triple {5779#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {5779#true} is VALID [2022-04-08 12:20:19,781 INFO L290 TraceCheckUtils]: 2: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:19,782 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5779#true} {5779#true} #103#return; {5779#true} is VALID [2022-04-08 12:20:19,782 INFO L272 TraceCheckUtils]: 4: Hoare triple {5779#true} call #t~ret6 := main(); {5779#true} is VALID [2022-04-08 12:20:19,782 INFO L290 TraceCheckUtils]: 5: Hoare triple {5779#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {5779#true} is VALID [2022-04-08 12:20:19,782 INFO L272 TraceCheckUtils]: 6: Hoare triple {5779#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:19,782 INFO L290 TraceCheckUtils]: 7: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:19,782 INFO L290 TraceCheckUtils]: 8: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:19,782 INFO L290 TraceCheckUtils]: 9: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:19,782 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5779#true} {5779#true} #79#return; {5779#true} is VALID [2022-04-08 12:20:19,782 INFO L290 TraceCheckUtils]: 11: Hoare triple {5779#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5779#true} is VALID [2022-04-08 12:20:19,782 INFO L272 TraceCheckUtils]: 12: Hoare triple {5779#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:19,782 INFO L290 TraceCheckUtils]: 13: Hoare triple {5779#true} ~cond := #in~cond; {5823#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:20:19,783 INFO L290 TraceCheckUtils]: 14: Hoare triple {5823#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5827#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:19,783 INFO L290 TraceCheckUtils]: 15: Hoare triple {5827#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5827#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:19,784 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5827#(not (= |assume_abort_if_not_#in~cond| 0))} {5779#true} #81#return; {5834#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:19,784 INFO L272 TraceCheckUtils]: 17: Hoare triple {5834#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:19,784 INFO L290 TraceCheckUtils]: 18: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:19,784 INFO L290 TraceCheckUtils]: 19: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:19,784 INFO L290 TraceCheckUtils]: 20: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:19,784 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5779#true} {5834#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #83#return; {5834#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:19,784 INFO L272 TraceCheckUtils]: 22: Hoare triple {5834#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:19,784 INFO L290 TraceCheckUtils]: 23: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:19,784 INFO L290 TraceCheckUtils]: 24: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:19,785 INFO L290 TraceCheckUtils]: 25: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:19,785 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5779#true} {5834#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #85#return; {5834#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:19,785 INFO L290 TraceCheckUtils]: 27: Hoare triple {5834#(and (<= 0 main_~y~0) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {5868#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 12:20:19,785 INFO L272 TraceCheckUtils]: 28: Hoare triple {5868#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:19,785 INFO L290 TraceCheckUtils]: 29: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:19,786 INFO L290 TraceCheckUtils]: 30: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:19,786 INFO L290 TraceCheckUtils]: 31: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:19,786 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5779#true} {5868#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} #87#return; {5868#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 12:20:19,786 INFO L272 TraceCheckUtils]: 33: Hoare triple {5868#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:19,786 INFO L290 TraceCheckUtils]: 34: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:19,786 INFO L290 TraceCheckUtils]: 35: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:19,787 INFO L290 TraceCheckUtils]: 36: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:19,787 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5779#true} {5868#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} #89#return; {5868#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 12:20:19,788 INFO L290 TraceCheckUtils]: 38: Hoare triple {5868#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} assume !false; {5868#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 12:20:19,788 INFO L290 TraceCheckUtils]: 39: Hoare triple {5868#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 12:20:19,788 INFO L290 TraceCheckUtils]: 40: Hoare triple {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} assume !false; {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 12:20:19,789 INFO L272 TraceCheckUtils]: 41: Hoare triple {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:19,789 INFO L290 TraceCheckUtils]: 42: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:19,789 INFO L290 TraceCheckUtils]: 43: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:19,789 INFO L290 TraceCheckUtils]: 44: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:19,789 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5779#true} {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} #91#return; {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 12:20:19,790 INFO L272 TraceCheckUtils]: 46: Hoare triple {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:19,790 INFO L290 TraceCheckUtils]: 47: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:19,790 INFO L290 TraceCheckUtils]: 48: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:19,790 INFO L290 TraceCheckUtils]: 49: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:19,790 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5779#true} {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} #93#return; {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 12:20:19,790 INFO L272 TraceCheckUtils]: 51: Hoare triple {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:19,791 INFO L290 TraceCheckUtils]: 52: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:19,791 INFO L290 TraceCheckUtils]: 53: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:19,791 INFO L290 TraceCheckUtils]: 54: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:19,791 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5779#true} {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} #95#return; {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 12:20:19,791 INFO L272 TraceCheckUtils]: 56: Hoare triple {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:19,792 INFO L290 TraceCheckUtils]: 57: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:19,792 INFO L290 TraceCheckUtils]: 58: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:19,792 INFO L290 TraceCheckUtils]: 59: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:19,792 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {5779#true} {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} #97#return; {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 12:20:19,793 INFO L290 TraceCheckUtils]: 61: Hoare triple {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 12:20:19,793 INFO L290 TraceCheckUtils]: 62: Hoare triple {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} assume !false; {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 12:20:19,793 INFO L272 TraceCheckUtils]: 63: Hoare triple {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:19,793 INFO L290 TraceCheckUtils]: 64: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:19,794 INFO L290 TraceCheckUtils]: 65: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:19,794 INFO L290 TraceCheckUtils]: 66: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:19,794 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5779#true} {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} #91#return; {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 12:20:19,794 INFO L272 TraceCheckUtils]: 68: Hoare triple {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:19,794 INFO L290 TraceCheckUtils]: 69: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:19,795 INFO L290 TraceCheckUtils]: 70: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:19,795 INFO L290 TraceCheckUtils]: 71: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:19,795 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {5779#true} {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} #93#return; {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 12:20:19,795 INFO L272 TraceCheckUtils]: 73: Hoare triple {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:19,795 INFO L290 TraceCheckUtils]: 74: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:19,795 INFO L290 TraceCheckUtils]: 75: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:19,796 INFO L290 TraceCheckUtils]: 76: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:19,796 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {5779#true} {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} #95#return; {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 12:20:19,796 INFO L272 TraceCheckUtils]: 78: Hoare triple {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:19,796 INFO L290 TraceCheckUtils]: 79: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:19,796 INFO L290 TraceCheckUtils]: 80: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:19,797 INFO L290 TraceCheckUtils]: 81: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:19,797 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {5779#true} {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} #97#return; {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 12:20:19,798 INFO L290 TraceCheckUtils]: 83: Hoare triple {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {6039#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-08 12:20:19,799 INFO L290 TraceCheckUtils]: 84: Hoare triple {6039#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {6043#(and (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:19,799 INFO L290 TraceCheckUtils]: 85: Hoare triple {6043#(and (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))} assume !false; {6043#(and (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:19,800 INFO L290 TraceCheckUtils]: 86: Hoare triple {6043#(and (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))} assume !(0 != ~b~0); {6043#(and (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:19,800 INFO L272 TraceCheckUtils]: 87: Hoare triple {6043#(and (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:20:19,801 INFO L290 TraceCheckUtils]: 88: Hoare triple {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6057#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:20:19,801 INFO L290 TraceCheckUtils]: 89: Hoare triple {6057#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5780#false} is VALID [2022-04-08 12:20:19,801 INFO L290 TraceCheckUtils]: 90: Hoare triple {5780#false} assume !false; {5780#false} is VALID [2022-04-08 12:20:19,802 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 19 proven. 20 refuted. 0 times theorem prover too weak. 157 trivial. 0 not checked. [2022-04-08 12:20:19,802 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:20:20,771 INFO L290 TraceCheckUtils]: 90: Hoare triple {5780#false} assume !false; {5780#false} is VALID [2022-04-08 12:20:20,771 INFO L290 TraceCheckUtils]: 89: Hoare triple {6057#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5780#false} is VALID [2022-04-08 12:20:20,772 INFO L290 TraceCheckUtils]: 88: Hoare triple {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6057#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:20:20,772 INFO L272 TraceCheckUtils]: 87: Hoare triple {6073#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:20:20,772 INFO L290 TraceCheckUtils]: 86: Hoare triple {6073#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} assume !(0 != ~b~0); {6073#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-08 12:20:20,773 INFO L290 TraceCheckUtils]: 85: Hoare triple {6073#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} assume !false; {6073#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-08 12:20:22,774 WARN L290 TraceCheckUtils]: 84: Hoare triple {6083#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {6073#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is UNKNOWN [2022-04-08 12:20:22,775 INFO L290 TraceCheckUtils]: 83: Hoare triple {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !(~c~0 >= ~b~0); {6083#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0)} is VALID [2022-04-08 12:20:22,776 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {5779#true} {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #97#return; {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-08 12:20:22,776 INFO L290 TraceCheckUtils]: 81: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:22,776 INFO L290 TraceCheckUtils]: 80: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:22,776 INFO L290 TraceCheckUtils]: 79: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:22,776 INFO L272 TraceCheckUtils]: 78: Hoare triple {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:22,776 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {5779#true} {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #95#return; {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-08 12:20:22,777 INFO L290 TraceCheckUtils]: 76: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:22,777 INFO L290 TraceCheckUtils]: 75: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:22,777 INFO L290 TraceCheckUtils]: 74: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:22,777 INFO L272 TraceCheckUtils]: 73: Hoare triple {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:22,778 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {5779#true} {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #93#return; {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-08 12:20:22,778 INFO L290 TraceCheckUtils]: 71: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:22,778 INFO L290 TraceCheckUtils]: 70: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:22,778 INFO L290 TraceCheckUtils]: 69: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:22,778 INFO L272 TraceCheckUtils]: 68: Hoare triple {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:22,779 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5779#true} {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #91#return; {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-08 12:20:22,779 INFO L290 TraceCheckUtils]: 66: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:22,779 INFO L290 TraceCheckUtils]: 65: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:22,779 INFO L290 TraceCheckUtils]: 64: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:22,779 INFO L272 TraceCheckUtils]: 63: Hoare triple {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:22,779 INFO L290 TraceCheckUtils]: 62: Hoare triple {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !false; {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-08 12:20:22,907 INFO L290 TraceCheckUtils]: 61: Hoare triple {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-08 12:20:22,908 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {5779#true} {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #97#return; {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-08 12:20:22,908 INFO L290 TraceCheckUtils]: 59: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:22,908 INFO L290 TraceCheckUtils]: 58: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:22,908 INFO L290 TraceCheckUtils]: 57: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:22,909 INFO L272 TraceCheckUtils]: 56: Hoare triple {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:22,909 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5779#true} {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #95#return; {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-08 12:20:22,909 INFO L290 TraceCheckUtils]: 54: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:22,909 INFO L290 TraceCheckUtils]: 53: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:22,909 INFO L290 TraceCheckUtils]: 52: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:22,909 INFO L272 TraceCheckUtils]: 51: Hoare triple {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:22,910 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5779#true} {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #93#return; {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-08 12:20:22,910 INFO L290 TraceCheckUtils]: 49: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:22,910 INFO L290 TraceCheckUtils]: 48: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:22,910 INFO L290 TraceCheckUtils]: 47: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:22,910 INFO L272 TraceCheckUtils]: 46: Hoare triple {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:22,911 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5779#true} {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #91#return; {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-08 12:20:22,911 INFO L290 TraceCheckUtils]: 44: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:22,911 INFO L290 TraceCheckUtils]: 43: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:22,911 INFO L290 TraceCheckUtils]: 42: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:22,911 INFO L272 TraceCheckUtils]: 41: Hoare triple {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:22,912 INFO L290 TraceCheckUtils]: 40: Hoare triple {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} assume !false; {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-08 12:20:22,912 INFO L290 TraceCheckUtils]: 39: Hoare triple {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-08 12:20:22,913 INFO L290 TraceCheckUtils]: 38: Hoare triple {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} assume !false; {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-08 12:20:22,913 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5779#true} {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} #89#return; {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-08 12:20:22,913 INFO L290 TraceCheckUtils]: 36: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:22,914 INFO L290 TraceCheckUtils]: 35: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:22,914 INFO L290 TraceCheckUtils]: 34: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:22,914 INFO L272 TraceCheckUtils]: 33: Hoare triple {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:22,914 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5779#true} {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} #87#return; {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-08 12:20:22,914 INFO L290 TraceCheckUtils]: 31: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:22,914 INFO L290 TraceCheckUtils]: 30: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:22,914 INFO L290 TraceCheckUtils]: 29: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:22,915 INFO L272 TraceCheckUtils]: 28: Hoare triple {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:22,915 INFO L290 TraceCheckUtils]: 27: Hoare triple {6258#(<= main_~y~0 1)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-08 12:20:22,916 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5779#true} {6258#(<= main_~y~0 1)} #85#return; {6258#(<= main_~y~0 1)} is VALID [2022-04-08 12:20:22,916 INFO L290 TraceCheckUtils]: 25: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:22,916 INFO L290 TraceCheckUtils]: 24: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:22,916 INFO L290 TraceCheckUtils]: 23: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:22,916 INFO L272 TraceCheckUtils]: 22: Hoare triple {6258#(<= main_~y~0 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:22,916 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5779#true} {6258#(<= main_~y~0 1)} #83#return; {6258#(<= main_~y~0 1)} is VALID [2022-04-08 12:20:22,916 INFO L290 TraceCheckUtils]: 20: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:22,916 INFO L290 TraceCheckUtils]: 19: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:22,917 INFO L290 TraceCheckUtils]: 18: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:22,917 INFO L272 TraceCheckUtils]: 17: Hoare triple {6258#(<= main_~y~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:22,917 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5827#(not (= |assume_abort_if_not_#in~cond| 0))} {5779#true} #81#return; {6258#(<= main_~y~0 1)} is VALID [2022-04-08 12:20:22,917 INFO L290 TraceCheckUtils]: 15: Hoare triple {5827#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5827#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:22,918 INFO L290 TraceCheckUtils]: 14: Hoare triple {6301#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {5827#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:22,918 INFO L290 TraceCheckUtils]: 13: Hoare triple {5779#true} ~cond := #in~cond; {6301#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 12:20:22,918 INFO L272 TraceCheckUtils]: 12: Hoare triple {5779#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:22,918 INFO L290 TraceCheckUtils]: 11: Hoare triple {5779#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5779#true} is VALID [2022-04-08 12:20:22,918 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5779#true} {5779#true} #79#return; {5779#true} is VALID [2022-04-08 12:20:22,918 INFO L290 TraceCheckUtils]: 9: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:22,918 INFO L290 TraceCheckUtils]: 8: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-08 12:20:22,918 INFO L290 TraceCheckUtils]: 7: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-08 12:20:22,918 INFO L272 TraceCheckUtils]: 6: Hoare triple {5779#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {5779#true} is VALID [2022-04-08 12:20:22,919 INFO L290 TraceCheckUtils]: 5: Hoare triple {5779#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {5779#true} is VALID [2022-04-08 12:20:22,919 INFO L272 TraceCheckUtils]: 4: Hoare triple {5779#true} call #t~ret6 := main(); {5779#true} is VALID [2022-04-08 12:20:22,919 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5779#true} {5779#true} #103#return; {5779#true} is VALID [2022-04-08 12:20:22,919 INFO L290 TraceCheckUtils]: 2: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-08 12:20:22,919 INFO L290 TraceCheckUtils]: 1: Hoare triple {5779#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {5779#true} is VALID [2022-04-08 12:20:22,919 INFO L272 TraceCheckUtils]: 0: Hoare triple {5779#true} call ULTIMATE.init(); {5779#true} is VALID [2022-04-08 12:20:22,919 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 19 proven. 20 refuted. 0 times theorem prover too weak. 157 trivial. 0 not checked. [2022-04-08 12:20:22,919 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:20:22,919 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [386944450] [2022-04-08 12:20:22,920 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:20:22,920 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1061840477] [2022-04-08 12:20:22,920 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1061840477] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:20:22,920 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:20:22,920 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 19 [2022-04-08 12:20:22,920 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:20:22,920 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1823103830] [2022-04-08 12:20:22,920 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1823103830] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:20:22,920 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:20:22,920 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 12:20:22,920 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [433121676] [2022-04-08 12:20:22,920 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:20:22,921 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) Word has length 91 [2022-04-08 12:20:22,921 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:20:22,921 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 12:20:22,968 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:22,969 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 12:20:22,969 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:22,969 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 12:20:22,969 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=286, Unknown=0, NotChecked=0, Total=342 [2022-04-08 12:20:22,969 INFO L87 Difference]: Start difference. First operand 65 states and 81 transitions. Second operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 12:20:24,677 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:24,677 INFO L93 Difference]: Finished difference Result 94 states and 120 transitions. [2022-04-08 12:20:24,677 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 12:20:24,677 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) Word has length 91 [2022-04-08 12:20:24,678 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:20:24,678 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 12:20:24,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 105 transitions. [2022-04-08 12:20:24,679 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 12:20:24,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 105 transitions. [2022-04-08 12:20:24,683 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 105 transitions. [2022-04-08 12:20:24,790 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:24,792 INFO L225 Difference]: With dead ends: 94 [2022-04-08 12:20:24,792 INFO L226 Difference]: Without dead ends: 92 [2022-04-08 12:20:24,792 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 186 GetRequests, 163 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 89 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=92, Invalid=460, Unknown=0, NotChecked=0, Total=552 [2022-04-08 12:20:24,792 INFO L913 BasicCegarLoop]: 58 mSDtfsCounter, 30 mSDsluCounter, 258 mSDsCounter, 0 mSdLazyCounter, 458 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 316 SdHoareTripleChecker+Invalid, 477 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 458 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-08 12:20:24,793 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 316 Invalid, 477 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 458 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-08 12:20:24,793 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-04-08 12:20:24,953 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 83. [2022-04-08 12:20:24,953 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:20:24,953 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 83 states, 46 states have (on average 1.1304347826086956) internal successors, (52), 48 states have internal predecessors, (52), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 12:20:24,953 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 83 states, 46 states have (on average 1.1304347826086956) internal successors, (52), 48 states have internal predecessors, (52), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 12:20:24,954 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 83 states, 46 states have (on average 1.1304347826086956) internal successors, (52), 48 states have internal predecessors, (52), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 12:20:24,956 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:24,956 INFO L93 Difference]: Finished difference Result 92 states and 118 transitions. [2022-04-08 12:20:24,956 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 118 transitions. [2022-04-08 12:20:24,956 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:24,957 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:24,957 INFO L74 IsIncluded]: Start isIncluded. First operand has 83 states, 46 states have (on average 1.1304347826086956) internal successors, (52), 48 states have internal predecessors, (52), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) Second operand 92 states. [2022-04-08 12:20:24,957 INFO L87 Difference]: Start difference. First operand has 83 states, 46 states have (on average 1.1304347826086956) internal successors, (52), 48 states have internal predecessors, (52), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) Second operand 92 states. [2022-04-08 12:20:24,958 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:24,958 INFO L93 Difference]: Finished difference Result 92 states and 118 transitions. [2022-04-08 12:20:24,959 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 118 transitions. [2022-04-08 12:20:24,959 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:24,959 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:24,959 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:20:24,959 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:20:24,959 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 83 states, 46 states have (on average 1.1304347826086956) internal successors, (52), 48 states have internal predecessors, (52), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 12:20:24,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 104 transitions. [2022-04-08 12:20:24,961 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 104 transitions. Word has length 91 [2022-04-08 12:20:24,961 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:20:24,961 INFO L478 AbstractCegarLoop]: Abstraction has 83 states and 104 transitions. [2022-04-08 12:20:24,961 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-08 12:20:24,961 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 83 states and 104 transitions. [2022-04-08 12:20:25,115 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:25,116 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 104 transitions. [2022-04-08 12:20:25,116 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 97 [2022-04-08 12:20:25,116 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:20:25,116 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 6, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:20:25,135 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-08 12:20:25,331 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-08 12:20:25,331 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:20:25,332 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:20:25,332 INFO L85 PathProgramCache]: Analyzing trace with hash -2082914122, now seen corresponding path program 1 times [2022-04-08 12:20:25,332 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:25,332 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [330016760] [2022-04-08 12:20:25,332 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:20:25,332 INFO L85 PathProgramCache]: Analyzing trace with hash -2082914122, now seen corresponding path program 2 times [2022-04-08 12:20:25,332 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:20:25,332 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [390797860] [2022-04-08 12:20:25,333 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:20:25,333 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:20:25,344 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:20:25,344 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1381578688] [2022-04-08 12:20:25,344 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:20:25,345 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:20:25,345 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:20:25,345 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:20:25,349 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-08 12:20:25,393 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:20:25,393 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:20:25,394 INFO L263 TraceCheckSpWp]: Trace formula consists of 242 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-08 12:20:25,408 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:20:25,409 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:20:26,452 INFO L272 TraceCheckUtils]: 0: Hoare triple {6891#true} call ULTIMATE.init(); {6891#true} is VALID [2022-04-08 12:20:26,452 INFO L290 TraceCheckUtils]: 1: Hoare triple {6891#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {6891#true} is VALID [2022-04-08 12:20:26,452 INFO L290 TraceCheckUtils]: 2: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:26,452 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6891#true} {6891#true} #103#return; {6891#true} is VALID [2022-04-08 12:20:26,452 INFO L272 TraceCheckUtils]: 4: Hoare triple {6891#true} call #t~ret6 := main(); {6891#true} is VALID [2022-04-08 12:20:26,452 INFO L290 TraceCheckUtils]: 5: Hoare triple {6891#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6891#true} is VALID [2022-04-08 12:20:26,452 INFO L272 TraceCheckUtils]: 6: Hoare triple {6891#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:26,452 INFO L290 TraceCheckUtils]: 7: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:26,452 INFO L290 TraceCheckUtils]: 8: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:26,452 INFO L290 TraceCheckUtils]: 9: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:26,453 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6891#true} {6891#true} #79#return; {6891#true} is VALID [2022-04-08 12:20:26,453 INFO L290 TraceCheckUtils]: 11: Hoare triple {6891#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6891#true} is VALID [2022-04-08 12:20:26,453 INFO L272 TraceCheckUtils]: 12: Hoare triple {6891#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:26,453 INFO L290 TraceCheckUtils]: 13: Hoare triple {6891#true} ~cond := #in~cond; {6935#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:20:26,454 INFO L290 TraceCheckUtils]: 14: Hoare triple {6935#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6939#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:26,454 INFO L290 TraceCheckUtils]: 15: Hoare triple {6939#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6939#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:26,454 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6939#(not (= |assume_abort_if_not_#in~cond| 0))} {6891#true} #81#return; {6946#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:26,454 INFO L272 TraceCheckUtils]: 17: Hoare triple {6946#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:26,467 INFO L290 TraceCheckUtils]: 18: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:26,467 INFO L290 TraceCheckUtils]: 19: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:26,467 INFO L290 TraceCheckUtils]: 20: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:26,470 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6891#true} {6946#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #83#return; {6946#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:26,470 INFO L272 TraceCheckUtils]: 22: Hoare triple {6946#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:26,470 INFO L290 TraceCheckUtils]: 23: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:26,471 INFO L290 TraceCheckUtils]: 24: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:26,471 INFO L290 TraceCheckUtils]: 25: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:26,471 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6891#true} {6946#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #85#return; {6946#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:26,471 INFO L290 TraceCheckUtils]: 27: Hoare triple {6946#(and (<= 0 main_~y~0) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:26,472 INFO L272 TraceCheckUtils]: 28: Hoare triple {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:26,472 INFO L290 TraceCheckUtils]: 29: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:26,472 INFO L290 TraceCheckUtils]: 30: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:26,472 INFO L290 TraceCheckUtils]: 31: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:26,472 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6891#true} {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} #87#return; {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:26,472 INFO L272 TraceCheckUtils]: 33: Hoare triple {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:26,472 INFO L290 TraceCheckUtils]: 34: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:26,473 INFO L290 TraceCheckUtils]: 35: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:26,473 INFO L290 TraceCheckUtils]: 36: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:26,473 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6891#true} {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} #89#return; {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:26,474 INFO L290 TraceCheckUtils]: 38: Hoare triple {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} assume !false; {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:26,474 INFO L290 TraceCheckUtils]: 39: Hoare triple {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:26,475 INFO L290 TraceCheckUtils]: 40: Hoare triple {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} assume !false; {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:26,475 INFO L272 TraceCheckUtils]: 41: Hoare triple {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:26,475 INFO L290 TraceCheckUtils]: 42: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:26,475 INFO L290 TraceCheckUtils]: 43: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:26,475 INFO L290 TraceCheckUtils]: 44: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:26,477 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6891#true} {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} #91#return; {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:26,477 INFO L272 TraceCheckUtils]: 46: Hoare triple {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:26,477 INFO L290 TraceCheckUtils]: 47: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:26,477 INFO L290 TraceCheckUtils]: 48: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:26,477 INFO L290 TraceCheckUtils]: 49: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:26,478 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6891#true} {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} #93#return; {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:26,478 INFO L272 TraceCheckUtils]: 51: Hoare triple {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:26,478 INFO L290 TraceCheckUtils]: 52: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:26,478 INFO L290 TraceCheckUtils]: 53: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:26,478 INFO L290 TraceCheckUtils]: 54: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:26,478 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6891#true} {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} #95#return; {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:26,479 INFO L272 TraceCheckUtils]: 56: Hoare triple {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:26,479 INFO L290 TraceCheckUtils]: 57: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:26,479 INFO L290 TraceCheckUtils]: 58: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:26,479 INFO L290 TraceCheckUtils]: 59: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:26,479 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {6891#true} {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} #97#return; {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:26,480 INFO L290 TraceCheckUtils]: 61: Hoare triple {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:26,480 INFO L290 TraceCheckUtils]: 62: Hoare triple {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} assume !false; {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:26,480 INFO L272 TraceCheckUtils]: 63: Hoare triple {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:26,480 INFO L290 TraceCheckUtils]: 64: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:26,480 INFO L290 TraceCheckUtils]: 65: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:26,480 INFO L290 TraceCheckUtils]: 66: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:26,481 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6891#true} {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} #91#return; {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:26,481 INFO L272 TraceCheckUtils]: 68: Hoare triple {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:26,481 INFO L290 TraceCheckUtils]: 69: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:26,481 INFO L290 TraceCheckUtils]: 70: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:26,481 INFO L290 TraceCheckUtils]: 71: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:26,482 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {6891#true} {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} #93#return; {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:26,482 INFO L272 TraceCheckUtils]: 73: Hoare triple {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:26,482 INFO L290 TraceCheckUtils]: 74: Hoare triple {6891#true} ~cond := #in~cond; {7124#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:20:26,482 INFO L290 TraceCheckUtils]: 75: Hoare triple {7124#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7128#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:20:26,483 INFO L290 TraceCheckUtils]: 76: Hoare triple {7128#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7128#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:20:26,483 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {7128#(not (= |__VERIFIER_assert_#in~cond| 0))} {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} #95#return; {7135#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:26,484 INFO L272 TraceCheckUtils]: 78: Hoare triple {7135#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:26,484 INFO L290 TraceCheckUtils]: 79: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:26,484 INFO L290 TraceCheckUtils]: 80: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:26,484 INFO L290 TraceCheckUtils]: 81: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:26,484 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {6891#true} {7135#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (<= main_~y~0 1))} #97#return; {7135#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:26,485 INFO L290 TraceCheckUtils]: 83: Hoare triple {7135#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (<= main_~y~0 1))} assume !(~c~0 >= ~b~0); {7154#(and (< main_~x~0 (* main_~b~0 2)) (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:26,486 INFO L290 TraceCheckUtils]: 84: Hoare triple {7154#(and (< main_~x~0 (* main_~b~0 2)) (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (<= main_~y~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:26,487 INFO L290 TraceCheckUtils]: 85: Hoare triple {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} assume !false; {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:26,487 INFO L290 TraceCheckUtils]: 86: Hoare triple {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} assume !(0 != ~b~0); {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:26,487 INFO L272 TraceCheckUtils]: 87: Hoare triple {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:26,487 INFO L290 TraceCheckUtils]: 88: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:26,487 INFO L290 TraceCheckUtils]: 89: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:26,487 INFO L290 TraceCheckUtils]: 90: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:26,488 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {6891#true} {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} #99#return; {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:26,489 INFO L272 TraceCheckUtils]: 92: Hoare triple {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~p~0 * ~x~0 + ~r~0 * ~y~0 == ~a~0 then 1 else 0)); {7183#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:20:26,489 INFO L290 TraceCheckUtils]: 93: Hoare triple {7183#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7187#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:20:26,489 INFO L290 TraceCheckUtils]: 94: Hoare triple {7187#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6892#false} is VALID [2022-04-08 12:20:26,489 INFO L290 TraceCheckUtils]: 95: Hoare triple {6892#false} assume !false; {6892#false} is VALID [2022-04-08 12:20:26,490 INFO L134 CoverageAnalysis]: Checked inductivity of 230 backedges. 38 proven. 27 refuted. 0 times theorem prover too weak. 165 trivial. 0 not checked. [2022-04-08 12:20:26,490 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:20:36,247 INFO L290 TraceCheckUtils]: 95: Hoare triple {6892#false} assume !false; {6892#false} is VALID [2022-04-08 12:20:36,247 INFO L290 TraceCheckUtils]: 94: Hoare triple {7187#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6892#false} is VALID [2022-04-08 12:20:36,248 INFO L290 TraceCheckUtils]: 93: Hoare triple {7183#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7187#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:20:36,248 INFO L272 TraceCheckUtils]: 92: Hoare triple {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 + ~r~0 * ~y~0 == ~a~0 then 1 else 0)); {7183#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:20:36,249 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {6891#true} {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #99#return; {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:20:36,249 INFO L290 TraceCheckUtils]: 90: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:36,249 INFO L290 TraceCheckUtils]: 89: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:36,249 INFO L290 TraceCheckUtils]: 88: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:36,249 INFO L272 TraceCheckUtils]: 87: Hoare triple {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:36,249 INFO L290 TraceCheckUtils]: 86: Hoare triple {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(0 != ~b~0); {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:20:36,250 INFO L290 TraceCheckUtils]: 85: Hoare triple {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:20:36,250 INFO L290 TraceCheckUtils]: 84: Hoare triple {7228#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:20:36,250 INFO L290 TraceCheckUtils]: 83: Hoare triple {7232#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {7228#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:20:36,251 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {6891#true} {7232#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} #97#return; {7232#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-08 12:20:36,251 INFO L290 TraceCheckUtils]: 81: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:36,251 INFO L290 TraceCheckUtils]: 80: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:36,251 INFO L290 TraceCheckUtils]: 79: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:36,251 INFO L272 TraceCheckUtils]: 78: Hoare triple {7232#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:36,252 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {7128#(not (= |__VERIFIER_assert_#in~cond| 0))} {6891#true} #95#return; {7232#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-08 12:20:36,252 INFO L290 TraceCheckUtils]: 76: Hoare triple {7128#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7128#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:20:36,252 INFO L290 TraceCheckUtils]: 75: Hoare triple {7260#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7128#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:20:36,253 INFO L290 TraceCheckUtils]: 74: Hoare triple {6891#true} ~cond := #in~cond; {7260#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:20:36,253 INFO L272 TraceCheckUtils]: 73: Hoare triple {6891#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:36,253 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {6891#true} {6891#true} #93#return; {6891#true} is VALID [2022-04-08 12:20:36,253 INFO L290 TraceCheckUtils]: 71: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:36,253 INFO L290 TraceCheckUtils]: 70: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:36,253 INFO L290 TraceCheckUtils]: 69: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:36,253 INFO L272 TraceCheckUtils]: 68: Hoare triple {6891#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:36,253 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6891#true} {6891#true} #91#return; {6891#true} is VALID [2022-04-08 12:20:36,253 INFO L290 TraceCheckUtils]: 66: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:36,253 INFO L290 TraceCheckUtils]: 65: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:36,254 INFO L290 TraceCheckUtils]: 64: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:36,254 INFO L272 TraceCheckUtils]: 63: Hoare triple {6891#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:36,254 INFO L290 TraceCheckUtils]: 62: Hoare triple {6891#true} assume !false; {6891#true} is VALID [2022-04-08 12:20:36,254 INFO L290 TraceCheckUtils]: 61: Hoare triple {6891#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {6891#true} is VALID [2022-04-08 12:20:36,254 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {6891#true} {6891#true} #97#return; {6891#true} is VALID [2022-04-08 12:20:36,254 INFO L290 TraceCheckUtils]: 59: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:36,254 INFO L290 TraceCheckUtils]: 58: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:36,254 INFO L290 TraceCheckUtils]: 57: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:36,254 INFO L272 TraceCheckUtils]: 56: Hoare triple {6891#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:36,254 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6891#true} {6891#true} #95#return; {6891#true} is VALID [2022-04-08 12:20:36,254 INFO L290 TraceCheckUtils]: 54: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:36,254 INFO L290 TraceCheckUtils]: 53: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:36,254 INFO L290 TraceCheckUtils]: 52: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:36,254 INFO L272 TraceCheckUtils]: 51: Hoare triple {6891#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:36,255 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6891#true} {6891#true} #93#return; {6891#true} is VALID [2022-04-08 12:20:36,255 INFO L290 TraceCheckUtils]: 49: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:36,255 INFO L290 TraceCheckUtils]: 48: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:36,255 INFO L290 TraceCheckUtils]: 47: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:36,255 INFO L272 TraceCheckUtils]: 46: Hoare triple {6891#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:36,255 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6891#true} {6891#true} #91#return; {6891#true} is VALID [2022-04-08 12:20:36,255 INFO L290 TraceCheckUtils]: 44: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:36,255 INFO L290 TraceCheckUtils]: 43: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:36,255 INFO L290 TraceCheckUtils]: 42: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:36,255 INFO L272 TraceCheckUtils]: 41: Hoare triple {6891#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:36,255 INFO L290 TraceCheckUtils]: 40: Hoare triple {6891#true} assume !false; {6891#true} is VALID [2022-04-08 12:20:36,255 INFO L290 TraceCheckUtils]: 39: Hoare triple {6891#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {6891#true} is VALID [2022-04-08 12:20:36,255 INFO L290 TraceCheckUtils]: 38: Hoare triple {6891#true} assume !false; {6891#true} is VALID [2022-04-08 12:20:36,255 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6891#true} {6891#true} #89#return; {6891#true} is VALID [2022-04-08 12:20:36,256 INFO L290 TraceCheckUtils]: 36: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:36,256 INFO L290 TraceCheckUtils]: 35: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:36,256 INFO L290 TraceCheckUtils]: 34: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:36,256 INFO L272 TraceCheckUtils]: 33: Hoare triple {6891#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:36,256 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6891#true} {6891#true} #87#return; {6891#true} is VALID [2022-04-08 12:20:36,256 INFO L290 TraceCheckUtils]: 31: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:36,256 INFO L290 TraceCheckUtils]: 30: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:36,256 INFO L290 TraceCheckUtils]: 29: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:36,256 INFO L272 TraceCheckUtils]: 28: Hoare triple {6891#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:36,256 INFO L290 TraceCheckUtils]: 27: Hoare triple {6891#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {6891#true} is VALID [2022-04-08 12:20:36,256 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6891#true} {6891#true} #85#return; {6891#true} is VALID [2022-04-08 12:20:36,256 INFO L290 TraceCheckUtils]: 25: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:36,256 INFO L290 TraceCheckUtils]: 24: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:36,256 INFO L290 TraceCheckUtils]: 23: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:36,257 INFO L272 TraceCheckUtils]: 22: Hoare triple {6891#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:36,257 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6891#true} {6891#true} #83#return; {6891#true} is VALID [2022-04-08 12:20:36,257 INFO L290 TraceCheckUtils]: 20: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:36,257 INFO L290 TraceCheckUtils]: 19: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:36,257 INFO L290 TraceCheckUtils]: 18: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:36,257 INFO L272 TraceCheckUtils]: 17: Hoare triple {6891#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:36,257 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6891#true} {6891#true} #81#return; {6891#true} is VALID [2022-04-08 12:20:36,257 INFO L290 TraceCheckUtils]: 15: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:36,257 INFO L290 TraceCheckUtils]: 14: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:36,257 INFO L290 TraceCheckUtils]: 13: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:36,257 INFO L272 TraceCheckUtils]: 12: Hoare triple {6891#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:36,257 INFO L290 TraceCheckUtils]: 11: Hoare triple {6891#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6891#true} is VALID [2022-04-08 12:20:36,257 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6891#true} {6891#true} #79#return; {6891#true} is VALID [2022-04-08 12:20:36,257 INFO L290 TraceCheckUtils]: 9: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:36,258 INFO L290 TraceCheckUtils]: 8: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-08 12:20:36,258 INFO L290 TraceCheckUtils]: 7: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-08 12:20:36,258 INFO L272 TraceCheckUtils]: 6: Hoare triple {6891#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {6891#true} is VALID [2022-04-08 12:20:36,258 INFO L290 TraceCheckUtils]: 5: Hoare triple {6891#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6891#true} is VALID [2022-04-08 12:20:36,258 INFO L272 TraceCheckUtils]: 4: Hoare triple {6891#true} call #t~ret6 := main(); {6891#true} is VALID [2022-04-08 12:20:36,258 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6891#true} {6891#true} #103#return; {6891#true} is VALID [2022-04-08 12:20:36,258 INFO L290 TraceCheckUtils]: 2: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-08 12:20:36,258 INFO L290 TraceCheckUtils]: 1: Hoare triple {6891#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {6891#true} is VALID [2022-04-08 12:20:36,258 INFO L272 TraceCheckUtils]: 0: Hoare triple {6891#true} call ULTIMATE.init(); {6891#true} is VALID [2022-04-08 12:20:36,258 INFO L134 CoverageAnalysis]: Checked inductivity of 230 backedges. 39 proven. 7 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-08 12:20:36,259 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:20:36,259 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [390797860] [2022-04-08 12:20:36,259 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:20:36,259 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1381578688] [2022-04-08 12:20:36,259 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1381578688] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:20:36,259 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:20:36,259 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 9] total 19 [2022-04-08 12:20:36,259 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:20:36,259 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [330016760] [2022-04-08 12:20:36,259 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [330016760] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:20:36,259 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:20:36,259 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 12:20:36,259 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1738281419] [2022-04-08 12:20:36,260 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:20:36,260 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 12 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 96 [2022-04-08 12:20:36,260 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:20:36,260 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 12 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-08 12:20:36,320 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:36,321 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 12:20:36,321 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:36,321 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 12:20:36,321 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=289, Unknown=0, NotChecked=0, Total=342 [2022-04-08 12:20:36,321 INFO L87 Difference]: Start difference. First operand 83 states and 104 transitions. Second operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 12 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-08 12:20:38,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:38,631 INFO L93 Difference]: Finished difference Result 98 states and 123 transitions. [2022-04-08 12:20:38,631 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 12:20:38,632 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 12 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 96 [2022-04-08 12:20:38,632 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:20:38,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 12 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-08 12:20:38,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 105 transitions. [2022-04-08 12:20:38,633 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 12 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-08 12:20:38,635 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 105 transitions. [2022-04-08 12:20:38,635 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 105 transitions. [2022-04-08 12:20:38,752 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:38,753 INFO L225 Difference]: With dead ends: 98 [2022-04-08 12:20:38,754 INFO L226 Difference]: Without dead ends: 90 [2022-04-08 12:20:38,754 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 198 GetRequests, 173 SyntacticMatches, 1 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 104 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=101, Invalid=549, Unknown=0, NotChecked=0, Total=650 [2022-04-08 12:20:38,754 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 35 mSDsluCounter, 205 mSDsCounter, 0 mSdLazyCounter, 633 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s 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, 1.0s IncrementalHoareTripleChecker+Time [2022-04-08 12:20:38,754 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [48 Valid, 246 Invalid, 653 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 633 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-08 12:20:38,755 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2022-04-08 12:20:38,931 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 88. [2022-04-08 12:20:38,931 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:20:38,931 INFO L82 GeneralOperation]: Start isEquivalent. First operand 90 states. Second operand has 88 states, 48 states have (on average 1.125) internal successors, (54), 49 states have internal predecessors, (54), 30 states have call successors, (30), 10 states have call predecessors, (30), 9 states have return successors, (28), 28 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 12:20:38,931 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand has 88 states, 48 states have (on average 1.125) internal successors, (54), 49 states have internal predecessors, (54), 30 states have call successors, (30), 10 states have call predecessors, (30), 9 states have return successors, (28), 28 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 12:20:38,931 INFO L87 Difference]: Start difference. First operand 90 states. Second operand has 88 states, 48 states have (on average 1.125) internal successors, (54), 49 states have internal predecessors, (54), 30 states have call successors, (30), 10 states have call predecessors, (30), 9 states have return successors, (28), 28 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 12:20:38,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:38,933 INFO L93 Difference]: Finished difference Result 90 states and 114 transitions. [2022-04-08 12:20:38,933 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 114 transitions. [2022-04-08 12:20:38,933 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:38,933 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:38,934 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 48 states have (on average 1.125) internal successors, (54), 49 states have internal predecessors, (54), 30 states have call successors, (30), 10 states have call predecessors, (30), 9 states have return successors, (28), 28 states have call predecessors, (28), 28 states have call successors, (28) Second operand 90 states. [2022-04-08 12:20:38,934 INFO L87 Difference]: Start difference. First operand has 88 states, 48 states have (on average 1.125) internal successors, (54), 49 states have internal predecessors, (54), 30 states have call successors, (30), 10 states have call predecessors, (30), 9 states have return successors, (28), 28 states have call predecessors, (28), 28 states have call successors, (28) Second operand 90 states. [2022-04-08 12:20:38,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:38,935 INFO L93 Difference]: Finished difference Result 90 states and 114 transitions. [2022-04-08 12:20:38,935 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 114 transitions. [2022-04-08 12:20:38,936 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:38,936 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:38,936 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:20:38,936 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:20:38,936 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 48 states have (on average 1.125) internal successors, (54), 49 states have internal predecessors, (54), 30 states have call successors, (30), 10 states have call predecessors, (30), 9 states have return successors, (28), 28 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 12:20:38,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 112 transitions. [2022-04-08 12:20:38,937 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 112 transitions. Word has length 96 [2022-04-08 12:20:38,938 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:20:38,938 INFO L478 AbstractCegarLoop]: Abstraction has 88 states and 112 transitions. [2022-04-08 12:20:38,938 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 12 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-08 12:20:38,938 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 88 states and 112 transitions. [2022-04-08 12:20:39,103 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:39,103 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 112 transitions. [2022-04-08 12:20:39,103 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-08 12:20:39,104 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:20:39,104 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 6, 6, 6, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:20:39,120 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-08 12:20:39,322 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-08 12:20:39,322 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:20:39,322 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:20:39,322 INFO L85 PathProgramCache]: Analyzing trace with hash 948121191, now seen corresponding path program 1 times [2022-04-08 12:20:39,322 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:39,322 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1518188822] [2022-04-08 12:20:39,323 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:20:39,323 INFO L85 PathProgramCache]: Analyzing trace with hash 948121191, now seen corresponding path program 2 times [2022-04-08 12:20:39,323 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:20:39,323 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [20197252] [2022-04-08 12:20:39,323 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:20:39,323 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:20:39,339 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:20:39,340 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [85255615] [2022-04-08 12:20:39,340 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:20:39,340 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:20:39,340 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:20:39,342 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:20:39,343 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-08 12:20:39,386 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:20:39,387 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:20:39,387 INFO L263 TraceCheckSpWp]: Trace formula consists of 255 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-08 12:20:39,400 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:20:39,401 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:20:39,733 INFO L272 TraceCheckUtils]: 0: Hoare triple {8051#true} call ULTIMATE.init(); {8051#true} is VALID [2022-04-08 12:20:39,733 INFO L290 TraceCheckUtils]: 1: Hoare triple {8051#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {8051#true} is VALID [2022-04-08 12:20:39,733 INFO L290 TraceCheckUtils]: 2: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:39,733 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8051#true} {8051#true} #103#return; {8051#true} is VALID [2022-04-08 12:20:39,734 INFO L272 TraceCheckUtils]: 4: Hoare triple {8051#true} call #t~ret6 := main(); {8051#true} is VALID [2022-04-08 12:20:39,734 INFO L290 TraceCheckUtils]: 5: Hoare triple {8051#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8051#true} is VALID [2022-04-08 12:20:39,734 INFO L272 TraceCheckUtils]: 6: Hoare triple {8051#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:39,734 INFO L290 TraceCheckUtils]: 7: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:39,734 INFO L290 TraceCheckUtils]: 8: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:39,734 INFO L290 TraceCheckUtils]: 9: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:39,734 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8051#true} {8051#true} #79#return; {8051#true} is VALID [2022-04-08 12:20:39,734 INFO L290 TraceCheckUtils]: 11: Hoare triple {8051#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8051#true} is VALID [2022-04-08 12:20:39,734 INFO L272 TraceCheckUtils]: 12: Hoare triple {8051#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:39,734 INFO L290 TraceCheckUtils]: 13: Hoare triple {8051#true} ~cond := #in~cond; {8095#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:20:39,735 INFO L290 TraceCheckUtils]: 14: Hoare triple {8095#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8099#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:39,735 INFO L290 TraceCheckUtils]: 15: Hoare triple {8099#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8099#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:39,735 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8099#(not (= |assume_abort_if_not_#in~cond| 0))} {8051#true} #81#return; {8106#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:39,735 INFO L272 TraceCheckUtils]: 17: Hoare triple {8106#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:39,736 INFO L290 TraceCheckUtils]: 18: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:39,736 INFO L290 TraceCheckUtils]: 19: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:39,736 INFO L290 TraceCheckUtils]: 20: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:39,736 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8051#true} {8106#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #83#return; {8106#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:39,736 INFO L272 TraceCheckUtils]: 22: Hoare triple {8106#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:39,736 INFO L290 TraceCheckUtils]: 23: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:39,736 INFO L290 TraceCheckUtils]: 24: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:39,736 INFO L290 TraceCheckUtils]: 25: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:39,737 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8051#true} {8106#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #85#return; {8106#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-08 12:20:39,737 INFO L290 TraceCheckUtils]: 27: Hoare triple {8106#(and (<= 0 main_~y~0) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 12:20:39,737 INFO L272 TraceCheckUtils]: 28: Hoare triple {8140#(<= main_~b~0 1)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:39,737 INFO L290 TraceCheckUtils]: 29: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:39,737 INFO L290 TraceCheckUtils]: 30: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:39,737 INFO L290 TraceCheckUtils]: 31: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:39,738 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #87#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 12:20:39,738 INFO L272 TraceCheckUtils]: 33: Hoare triple {8140#(<= main_~b~0 1)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:39,738 INFO L290 TraceCheckUtils]: 34: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:39,738 INFO L290 TraceCheckUtils]: 35: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:39,738 INFO L290 TraceCheckUtils]: 36: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:39,738 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #89#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 12:20:39,739 INFO L290 TraceCheckUtils]: 38: Hoare triple {8140#(<= main_~b~0 1)} assume !false; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 12:20:39,739 INFO L290 TraceCheckUtils]: 39: Hoare triple {8140#(<= main_~b~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 12:20:39,739 INFO L290 TraceCheckUtils]: 40: Hoare triple {8140#(<= main_~b~0 1)} assume !false; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 12:20:39,739 INFO L272 TraceCheckUtils]: 41: Hoare triple {8140#(<= main_~b~0 1)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:39,739 INFO L290 TraceCheckUtils]: 42: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:39,739 INFO L290 TraceCheckUtils]: 43: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:39,739 INFO L290 TraceCheckUtils]: 44: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:39,740 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #91#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 12:20:39,740 INFO L272 TraceCheckUtils]: 46: Hoare triple {8140#(<= main_~b~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:39,740 INFO L290 TraceCheckUtils]: 47: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:39,740 INFO L290 TraceCheckUtils]: 48: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:39,740 INFO L290 TraceCheckUtils]: 49: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:39,741 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #93#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 12:20:39,741 INFO L272 TraceCheckUtils]: 51: Hoare triple {8140#(<= main_~b~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:39,741 INFO L290 TraceCheckUtils]: 52: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:39,741 INFO L290 TraceCheckUtils]: 53: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:39,741 INFO L290 TraceCheckUtils]: 54: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:39,741 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #95#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 12:20:39,741 INFO L272 TraceCheckUtils]: 56: Hoare triple {8140#(<= main_~b~0 1)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:39,742 INFO L290 TraceCheckUtils]: 57: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:39,742 INFO L290 TraceCheckUtils]: 58: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:39,742 INFO L290 TraceCheckUtils]: 59: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:39,742 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #97#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 12:20:39,743 INFO L290 TraceCheckUtils]: 61: Hoare triple {8140#(<= main_~b~0 1)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} is VALID [2022-04-08 12:20:39,743 INFO L290 TraceCheckUtils]: 62: Hoare triple {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} assume !false; {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} is VALID [2022-04-08 12:20:39,743 INFO L272 TraceCheckUtils]: 63: Hoare triple {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:39,743 INFO L290 TraceCheckUtils]: 64: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:39,743 INFO L290 TraceCheckUtils]: 65: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:39,744 INFO L290 TraceCheckUtils]: 66: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:39,744 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8051#true} {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} #91#return; {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} is VALID [2022-04-08 12:20:39,744 INFO L272 TraceCheckUtils]: 68: Hoare triple {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:39,744 INFO L290 TraceCheckUtils]: 69: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:39,744 INFO L290 TraceCheckUtils]: 70: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:39,744 INFO L290 TraceCheckUtils]: 71: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:39,745 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8051#true} {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} #93#return; {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} is VALID [2022-04-08 12:20:39,745 INFO L272 TraceCheckUtils]: 73: Hoare triple {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:39,745 INFO L290 TraceCheckUtils]: 74: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:39,745 INFO L290 TraceCheckUtils]: 75: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:39,745 INFO L290 TraceCheckUtils]: 76: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:39,746 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {8051#true} {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} #95#return; {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} is VALID [2022-04-08 12:20:39,746 INFO L272 TraceCheckUtils]: 78: Hoare triple {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:39,746 INFO L290 TraceCheckUtils]: 79: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:39,746 INFO L290 TraceCheckUtils]: 80: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:39,746 INFO L290 TraceCheckUtils]: 81: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:39,746 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {8051#true} {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} #97#return; {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} is VALID [2022-04-08 12:20:39,747 INFO L290 TraceCheckUtils]: 83: Hoare triple {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} assume !(~c~0 >= ~b~0); {8310#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-08 12:20:39,747 INFO L290 TraceCheckUtils]: 84: Hoare triple {8310#(and (< main_~c~0 1) (<= 0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8314#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-08 12:20:39,748 INFO L290 TraceCheckUtils]: 85: Hoare triple {8314#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !false; {8314#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-08 12:20:39,748 INFO L290 TraceCheckUtils]: 86: Hoare triple {8314#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8052#false} is VALID [2022-04-08 12:20:39,748 INFO L290 TraceCheckUtils]: 87: Hoare triple {8052#false} assume !false; {8052#false} is VALID [2022-04-08 12:20:39,748 INFO L272 TraceCheckUtils]: 88: Hoare triple {8052#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8052#false} is VALID [2022-04-08 12:20:39,748 INFO L290 TraceCheckUtils]: 89: Hoare triple {8052#false} ~cond := #in~cond; {8052#false} is VALID [2022-04-08 12:20:39,748 INFO L290 TraceCheckUtils]: 90: Hoare triple {8052#false} assume !(0 == ~cond); {8052#false} is VALID [2022-04-08 12:20:39,748 INFO L290 TraceCheckUtils]: 91: Hoare triple {8052#false} assume true; {8052#false} is VALID [2022-04-08 12:20:39,748 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8052#false} {8052#false} #91#return; {8052#false} is VALID [2022-04-08 12:20:39,749 INFO L272 TraceCheckUtils]: 93: Hoare triple {8052#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8052#false} is VALID [2022-04-08 12:20:39,749 INFO L290 TraceCheckUtils]: 94: Hoare triple {8052#false} ~cond := #in~cond; {8052#false} is VALID [2022-04-08 12:20:39,749 INFO L290 TraceCheckUtils]: 95: Hoare triple {8052#false} assume !(0 == ~cond); {8052#false} is VALID [2022-04-08 12:20:39,749 INFO L290 TraceCheckUtils]: 96: Hoare triple {8052#false} assume true; {8052#false} is VALID [2022-04-08 12:20:39,749 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {8052#false} {8052#false} #93#return; {8052#false} is VALID [2022-04-08 12:20:39,749 INFO L272 TraceCheckUtils]: 98: Hoare triple {8052#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8052#false} is VALID [2022-04-08 12:20:39,749 INFO L290 TraceCheckUtils]: 99: Hoare triple {8052#false} ~cond := #in~cond; {8052#false} is VALID [2022-04-08 12:20:39,749 INFO L290 TraceCheckUtils]: 100: Hoare triple {8052#false} assume 0 == ~cond; {8052#false} is VALID [2022-04-08 12:20:39,749 INFO L290 TraceCheckUtils]: 101: Hoare triple {8052#false} assume !false; {8052#false} is VALID [2022-04-08 12:20:39,749 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 99 proven. 12 refuted. 0 times theorem prover too weak. 165 trivial. 0 not checked. [2022-04-08 12:20:39,750 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:20:40,180 INFO L290 TraceCheckUtils]: 101: Hoare triple {8052#false} assume !false; {8052#false} is VALID [2022-04-08 12:20:40,180 INFO L290 TraceCheckUtils]: 100: Hoare triple {8052#false} assume 0 == ~cond; {8052#false} is VALID [2022-04-08 12:20:40,180 INFO L290 TraceCheckUtils]: 99: Hoare triple {8052#false} ~cond := #in~cond; {8052#false} is VALID [2022-04-08 12:20:40,180 INFO L272 TraceCheckUtils]: 98: Hoare triple {8052#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8052#false} is VALID [2022-04-08 12:20:40,180 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {8051#true} {8052#false} #93#return; {8052#false} is VALID [2022-04-08 12:20:40,180 INFO L290 TraceCheckUtils]: 96: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:40,180 INFO L290 TraceCheckUtils]: 95: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:40,180 INFO L290 TraceCheckUtils]: 94: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:40,181 INFO L272 TraceCheckUtils]: 93: Hoare triple {8052#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:40,181 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8051#true} {8052#false} #91#return; {8052#false} is VALID [2022-04-08 12:20:40,181 INFO L290 TraceCheckUtils]: 91: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:40,181 INFO L290 TraceCheckUtils]: 90: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:40,181 INFO L290 TraceCheckUtils]: 89: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:40,181 INFO L272 TraceCheckUtils]: 88: Hoare triple {8052#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:40,181 INFO L290 TraceCheckUtils]: 87: Hoare triple {8052#false} assume !false; {8052#false} is VALID [2022-04-08 12:20:40,181 INFO L290 TraceCheckUtils]: 86: Hoare triple {8314#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8052#false} is VALID [2022-04-08 12:20:40,182 INFO L290 TraceCheckUtils]: 85: Hoare triple {8314#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !false; {8314#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-08 12:20:40,182 INFO L290 TraceCheckUtils]: 84: Hoare triple {8310#(and (< main_~c~0 1) (<= 0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8314#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-08 12:20:40,182 INFO L290 TraceCheckUtils]: 83: Hoare triple {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} assume !(~c~0 >= ~b~0); {8310#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-08 12:20:40,183 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {8051#true} {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} #97#return; {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} is VALID [2022-04-08 12:20:40,183 INFO L290 TraceCheckUtils]: 81: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:40,183 INFO L290 TraceCheckUtils]: 80: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:40,183 INFO L290 TraceCheckUtils]: 79: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:40,183 INFO L272 TraceCheckUtils]: 78: Hoare triple {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:40,184 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {8051#true} {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} #95#return; {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} is VALID [2022-04-08 12:20:40,184 INFO L290 TraceCheckUtils]: 76: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:40,184 INFO L290 TraceCheckUtils]: 75: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:40,184 INFO L290 TraceCheckUtils]: 74: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:40,184 INFO L272 TraceCheckUtils]: 73: Hoare triple {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:40,185 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8051#true} {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} #93#return; {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} is VALID [2022-04-08 12:20:40,185 INFO L290 TraceCheckUtils]: 71: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:40,185 INFO L290 TraceCheckUtils]: 70: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:40,185 INFO L290 TraceCheckUtils]: 69: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:40,185 INFO L272 TraceCheckUtils]: 68: Hoare triple {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:40,185 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8051#true} {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} #91#return; {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} is VALID [2022-04-08 12:20:40,185 INFO L290 TraceCheckUtils]: 66: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:40,185 INFO L290 TraceCheckUtils]: 65: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:40,185 INFO L290 TraceCheckUtils]: 64: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:40,186 INFO L272 TraceCheckUtils]: 63: Hoare triple {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:40,186 INFO L290 TraceCheckUtils]: 62: Hoare triple {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} assume !false; {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} is VALID [2022-04-08 12:20:40,186 INFO L290 TraceCheckUtils]: 61: Hoare triple {8140#(<= main_~b~0 1)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} is VALID [2022-04-08 12:20:40,187 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #97#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 12:20:40,187 INFO L290 TraceCheckUtils]: 59: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:40,187 INFO L290 TraceCheckUtils]: 58: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:40,187 INFO L290 TraceCheckUtils]: 57: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:40,187 INFO L272 TraceCheckUtils]: 56: Hoare triple {8140#(<= main_~b~0 1)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:40,188 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #95#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 12:20:40,188 INFO L290 TraceCheckUtils]: 54: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:40,188 INFO L290 TraceCheckUtils]: 53: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:40,188 INFO L290 TraceCheckUtils]: 52: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:40,188 INFO L272 TraceCheckUtils]: 51: Hoare triple {8140#(<= main_~b~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:40,189 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #93#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 12:20:40,189 INFO L290 TraceCheckUtils]: 49: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:40,189 INFO L290 TraceCheckUtils]: 48: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:40,189 INFO L290 TraceCheckUtils]: 47: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:40,189 INFO L272 TraceCheckUtils]: 46: Hoare triple {8140#(<= main_~b~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:40,189 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #91#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 12:20:40,189 INFO L290 TraceCheckUtils]: 44: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:40,189 INFO L290 TraceCheckUtils]: 43: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:40,189 INFO L290 TraceCheckUtils]: 42: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:40,190 INFO L272 TraceCheckUtils]: 41: Hoare triple {8140#(<= main_~b~0 1)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:40,190 INFO L290 TraceCheckUtils]: 40: Hoare triple {8140#(<= main_~b~0 1)} assume !false; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 12:20:40,190 INFO L290 TraceCheckUtils]: 39: Hoare triple {8140#(<= main_~b~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 12:20:40,190 INFO L290 TraceCheckUtils]: 38: Hoare triple {8140#(<= main_~b~0 1)} assume !false; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 12:20:40,191 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #89#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 12:20:40,191 INFO L290 TraceCheckUtils]: 36: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:40,191 INFO L290 TraceCheckUtils]: 35: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:40,191 INFO L290 TraceCheckUtils]: 34: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:40,191 INFO L272 TraceCheckUtils]: 33: Hoare triple {8140#(<= main_~b~0 1)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:40,191 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #87#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 12:20:40,191 INFO L290 TraceCheckUtils]: 31: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:40,191 INFO L290 TraceCheckUtils]: 30: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:40,192 INFO L290 TraceCheckUtils]: 29: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:40,192 INFO L272 TraceCheckUtils]: 28: Hoare triple {8140#(<= main_~b~0 1)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:40,192 INFO L290 TraceCheckUtils]: 27: Hoare triple {8589#(<= main_~y~0 1)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {8140#(<= main_~b~0 1)} is VALID [2022-04-08 12:20:40,192 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8051#true} {8589#(<= main_~y~0 1)} #85#return; {8589#(<= main_~y~0 1)} is VALID [2022-04-08 12:20:40,192 INFO L290 TraceCheckUtils]: 25: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:40,192 INFO L290 TraceCheckUtils]: 24: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:40,192 INFO L290 TraceCheckUtils]: 23: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:40,193 INFO L272 TraceCheckUtils]: 22: Hoare triple {8589#(<= main_~y~0 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:40,193 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8051#true} {8589#(<= main_~y~0 1)} #83#return; {8589#(<= main_~y~0 1)} is VALID [2022-04-08 12:20:40,193 INFO L290 TraceCheckUtils]: 20: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:40,193 INFO L290 TraceCheckUtils]: 19: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:40,193 INFO L290 TraceCheckUtils]: 18: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:40,193 INFO L272 TraceCheckUtils]: 17: Hoare triple {8589#(<= main_~y~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:40,194 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8099#(not (= |assume_abort_if_not_#in~cond| 0))} {8051#true} #81#return; {8589#(<= main_~y~0 1)} is VALID [2022-04-08 12:20:40,194 INFO L290 TraceCheckUtils]: 15: Hoare triple {8099#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8099#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:40,194 INFO L290 TraceCheckUtils]: 14: Hoare triple {8632#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {8099#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:40,195 INFO L290 TraceCheckUtils]: 13: Hoare triple {8051#true} ~cond := #in~cond; {8632#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 12:20:40,195 INFO L272 TraceCheckUtils]: 12: Hoare triple {8051#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:40,195 INFO L290 TraceCheckUtils]: 11: Hoare triple {8051#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8051#true} is VALID [2022-04-08 12:20:40,195 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8051#true} {8051#true} #79#return; {8051#true} is VALID [2022-04-08 12:20:40,195 INFO L290 TraceCheckUtils]: 9: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:40,195 INFO L290 TraceCheckUtils]: 8: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-08 12:20:40,195 INFO L290 TraceCheckUtils]: 7: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-08 12:20:40,195 INFO L272 TraceCheckUtils]: 6: Hoare triple {8051#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {8051#true} is VALID [2022-04-08 12:20:40,195 INFO L290 TraceCheckUtils]: 5: Hoare triple {8051#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8051#true} is VALID [2022-04-08 12:20:40,195 INFO L272 TraceCheckUtils]: 4: Hoare triple {8051#true} call #t~ret6 := main(); {8051#true} is VALID [2022-04-08 12:20:40,196 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8051#true} {8051#true} #103#return; {8051#true} is VALID [2022-04-08 12:20:40,196 INFO L290 TraceCheckUtils]: 2: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-08 12:20:40,196 INFO L290 TraceCheckUtils]: 1: Hoare triple {8051#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {8051#true} is VALID [2022-04-08 12:20:40,196 INFO L272 TraceCheckUtils]: 0: Hoare triple {8051#true} call ULTIMATE.init(); {8051#true} is VALID [2022-04-08 12:20:40,196 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 33 proven. 18 refuted. 0 times theorem prover too weak. 225 trivial. 0 not checked. [2022-04-08 12:20:40,196 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:20:40,196 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [20197252] [2022-04-08 12:20:40,196 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:20:40,196 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [85255615] [2022-04-08 12:20:40,196 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [85255615] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:20:40,196 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:20:40,197 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 12 [2022-04-08 12:20:40,197 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:20:40,197 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1518188822] [2022-04-08 12:20:40,197 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1518188822] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:20:40,197 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:20:40,197 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 12:20:40,197 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1199983532] [2022-04-08 12:20:40,197 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:20:40,197 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 8 states have internal predecessors, (29), 5 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) Word has length 102 [2022-04-08 12:20:40,198 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:20:40,198 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 8 states have internal predecessors, (29), 5 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-08 12:20:40,247 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:40,247 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 12:20:40,247 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:40,248 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 12:20:40,248 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-04-08 12:20:40,248 INFO L87 Difference]: Start difference. First operand 88 states and 112 transitions. Second operand has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 8 states have internal predecessors, (29), 5 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-08 12:20:40,787 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:40,787 INFO L93 Difference]: Finished difference Result 103 states and 127 transitions. [2022-04-08 12:20:40,787 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 12:20:40,787 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 8 states have internal predecessors, (29), 5 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) Word has length 102 [2022-04-08 12:20:40,787 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:20:40,788 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 8 states have internal predecessors, (29), 5 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-08 12:20:40,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-08 12:20:40,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 8 states have internal predecessors, (29), 5 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-08 12:20:40,789 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-08 12:20:40,789 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 81 transitions. [2022-04-08 12:20:40,854 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:40,855 INFO L225 Difference]: With dead ends: 103 [2022-04-08 12:20:40,855 INFO L226 Difference]: Without dead ends: 69 [2022-04-08 12:20:40,855 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 208 GetRequests, 192 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=68, Invalid=204, Unknown=0, NotChecked=0, Total=272 [2022-04-08 12:20:40,856 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 17 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 150 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-08 12:20:40,856 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.2s Time] [2022-04-08 12:20:40,856 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-08 12:20:41,012 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 69. [2022-04-08 12:20:41,012 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:20:41,012 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 69 states, 38 states have (on average 1.0526315789473684) internal successors, (40), 39 states have internal predecessors, (40), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 12:20:41,013 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 69 states, 38 states have (on average 1.0526315789473684) internal successors, (40), 39 states have internal predecessors, (40), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 12:20:41,013 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 69 states, 38 states have (on average 1.0526315789473684) internal successors, (40), 39 states have internal predecessors, (40), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 12:20:41,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:41,014 INFO L93 Difference]: Finished difference Result 69 states and 82 transitions. [2022-04-08 12:20:41,014 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 82 transitions. [2022-04-08 12:20:41,014 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:41,015 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:41,015 INFO L74 IsIncluded]: Start isIncluded. First operand has 69 states, 38 states have (on average 1.0526315789473684) internal successors, (40), 39 states have internal predecessors, (40), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 69 states. [2022-04-08 12:20:41,015 INFO L87 Difference]: Start difference. First operand has 69 states, 38 states have (on average 1.0526315789473684) internal successors, (40), 39 states have internal predecessors, (40), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 69 states. [2022-04-08 12:20:41,016 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:41,016 INFO L93 Difference]: Finished difference Result 69 states and 82 transitions. [2022-04-08 12:20:41,016 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 82 transitions. [2022-04-08 12:20:41,016 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:41,016 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:41,016 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:20:41,016 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:20:41,017 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 69 states, 38 states have (on average 1.0526315789473684) internal successors, (40), 39 states have internal predecessors, (40), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-08 12:20:41,018 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 82 transitions. [2022-04-08 12:20:41,018 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 82 transitions. Word has length 102 [2022-04-08 12:20:41,018 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:20:41,018 INFO L478 AbstractCegarLoop]: Abstraction has 69 states and 82 transitions. [2022-04-08 12:20:41,018 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 8 states have internal predecessors, (29), 5 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-08 12:20:41,018 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 69 states and 82 transitions. [2022-04-08 12:20:41,130 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:41,130 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 82 transitions. [2022-04-08 12:20:41,131 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 114 [2022-04-08 12:20:41,131 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:20:41,131 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 12:20:41,147 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-08 12:20:41,331 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-08 12:20:41,332 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:20:41,332 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:20:41,332 INFO L85 PathProgramCache]: Analyzing trace with hash 1185765869, now seen corresponding path program 3 times [2022-04-08 12:20:41,332 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:41,332 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1292988095] [2022-04-08 12:20:41,333 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:20:41,333 INFO L85 PathProgramCache]: Analyzing trace with hash 1185765869, now seen corresponding path program 4 times [2022-04-08 12:20:41,333 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:20:41,333 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [841995302] [2022-04-08 12:20:41,333 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:20:41,333 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:20:41,343 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:20:41,344 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1855474978] [2022-04-08 12:20:41,344 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 12:20:41,344 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:20:41,344 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:20:41,345 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 12:20:41,345 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-08 12:20:41,391 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 12:20:41,391 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:20:41,392 INFO L263 TraceCheckSpWp]: Trace formula consists of 236 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 12:20:41,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:20:41,422 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:20:41,769 INFO L272 TraceCheckUtils]: 0: Hoare triple {9166#true} call ULTIMATE.init(); {9166#true} is VALID [2022-04-08 12:20:41,769 INFO L290 TraceCheckUtils]: 1: Hoare triple {9166#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {9166#true} is VALID [2022-04-08 12:20:41,769 INFO L290 TraceCheckUtils]: 2: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:41,769 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9166#true} {9166#true} #103#return; {9166#true} is VALID [2022-04-08 12:20:41,769 INFO L272 TraceCheckUtils]: 4: Hoare triple {9166#true} call #t~ret6 := main(); {9166#true} is VALID [2022-04-08 12:20:41,770 INFO L290 TraceCheckUtils]: 5: Hoare triple {9166#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {9166#true} is VALID [2022-04-08 12:20:41,770 INFO L272 TraceCheckUtils]: 6: Hoare triple {9166#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:41,770 INFO L290 TraceCheckUtils]: 7: Hoare triple {9166#true} ~cond := #in~cond; {9192#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:20:41,770 INFO L290 TraceCheckUtils]: 8: Hoare triple {9192#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {9196#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:41,770 INFO L290 TraceCheckUtils]: 9: Hoare triple {9196#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9196#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:41,771 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9196#(not (= |assume_abort_if_not_#in~cond| 0))} {9166#true} #79#return; {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 12:20:41,771 INFO L290 TraceCheckUtils]: 11: Hoare triple {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 12:20:41,771 INFO L272 TraceCheckUtils]: 12: Hoare triple {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:41,771 INFO L290 TraceCheckUtils]: 13: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:41,771 INFO L290 TraceCheckUtils]: 14: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:41,772 INFO L290 TraceCheckUtils]: 15: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:41,772 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9166#true} {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #81#return; {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 12:20:41,772 INFO L272 TraceCheckUtils]: 17: Hoare triple {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:41,772 INFO L290 TraceCheckUtils]: 18: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:41,772 INFO L290 TraceCheckUtils]: 19: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:41,772 INFO L290 TraceCheckUtils]: 20: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:41,773 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9166#true} {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #83#return; {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 12:20:41,773 INFO L272 TraceCheckUtils]: 22: Hoare triple {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:41,773 INFO L290 TraceCheckUtils]: 23: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:41,773 INFO L290 TraceCheckUtils]: 24: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:41,773 INFO L290 TraceCheckUtils]: 25: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:41,773 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9166#true} {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #85#return; {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-08 12:20:41,774 INFO L290 TraceCheckUtils]: 27: Hoare triple {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {9255#(<= main_~a~0 1)} is VALID [2022-04-08 12:20:41,774 INFO L272 TraceCheckUtils]: 28: Hoare triple {9255#(<= main_~a~0 1)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:41,774 INFO L290 TraceCheckUtils]: 29: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:41,774 INFO L290 TraceCheckUtils]: 30: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:41,774 INFO L290 TraceCheckUtils]: 31: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:41,774 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9166#true} {9255#(<= main_~a~0 1)} #87#return; {9255#(<= main_~a~0 1)} is VALID [2022-04-08 12:20:41,774 INFO L272 TraceCheckUtils]: 33: Hoare triple {9255#(<= main_~a~0 1)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:41,774 INFO L290 TraceCheckUtils]: 34: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:41,774 INFO L290 TraceCheckUtils]: 35: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:41,775 INFO L290 TraceCheckUtils]: 36: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:41,775 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {9166#true} {9255#(<= main_~a~0 1)} #89#return; {9255#(<= main_~a~0 1)} is VALID [2022-04-08 12:20:41,775 INFO L290 TraceCheckUtils]: 38: Hoare triple {9255#(<= main_~a~0 1)} assume !false; {9255#(<= main_~a~0 1)} is VALID [2022-04-08 12:20:41,776 INFO L290 TraceCheckUtils]: 39: Hoare triple {9255#(<= main_~a~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {9292#(<= main_~c~0 1)} is VALID [2022-04-08 12:20:41,776 INFO L290 TraceCheckUtils]: 40: Hoare triple {9292#(<= main_~c~0 1)} assume !false; {9292#(<= main_~c~0 1)} is VALID [2022-04-08 12:20:41,776 INFO L272 TraceCheckUtils]: 41: Hoare triple {9292#(<= main_~c~0 1)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:41,776 INFO L290 TraceCheckUtils]: 42: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:41,776 INFO L290 TraceCheckUtils]: 43: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:41,776 INFO L290 TraceCheckUtils]: 44: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:41,777 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #91#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-08 12:20:41,777 INFO L272 TraceCheckUtils]: 46: Hoare triple {9292#(<= main_~c~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:41,777 INFO L290 TraceCheckUtils]: 47: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:41,777 INFO L290 TraceCheckUtils]: 48: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:41,777 INFO L290 TraceCheckUtils]: 49: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:41,777 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #93#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-08 12:20:41,777 INFO L272 TraceCheckUtils]: 51: Hoare triple {9292#(<= main_~c~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:41,778 INFO L290 TraceCheckUtils]: 52: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:41,778 INFO L290 TraceCheckUtils]: 53: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:41,778 INFO L290 TraceCheckUtils]: 54: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:41,778 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #95#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-08 12:20:41,778 INFO L272 TraceCheckUtils]: 56: Hoare triple {9292#(<= main_~c~0 1)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:41,778 INFO L290 TraceCheckUtils]: 57: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:41,778 INFO L290 TraceCheckUtils]: 58: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:41,778 INFO L290 TraceCheckUtils]: 59: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:41,779 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #97#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-08 12:20:41,780 INFO L290 TraceCheckUtils]: 61: Hoare triple {9292#(<= main_~c~0 1)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {9359#(<= (+ main_~c~0 main_~b~0) 1)} is VALID [2022-04-08 12:20:41,780 INFO L290 TraceCheckUtils]: 62: Hoare triple {9359#(<= (+ main_~c~0 main_~b~0) 1)} assume !false; {9359#(<= (+ main_~c~0 main_~b~0) 1)} is VALID [2022-04-08 12:20:41,780 INFO L272 TraceCheckUtils]: 63: Hoare triple {9359#(<= (+ main_~c~0 main_~b~0) 1)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:41,780 INFO L290 TraceCheckUtils]: 64: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:41,780 INFO L290 TraceCheckUtils]: 65: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:41,780 INFO L290 TraceCheckUtils]: 66: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:41,781 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9166#true} {9359#(<= (+ main_~c~0 main_~b~0) 1)} #91#return; {9359#(<= (+ main_~c~0 main_~b~0) 1)} is VALID [2022-04-08 12:20:41,781 INFO L272 TraceCheckUtils]: 68: Hoare triple {9359#(<= (+ main_~c~0 main_~b~0) 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:41,781 INFO L290 TraceCheckUtils]: 69: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:41,781 INFO L290 TraceCheckUtils]: 70: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:41,781 INFO L290 TraceCheckUtils]: 71: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:41,782 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9166#true} {9359#(<= (+ main_~c~0 main_~b~0) 1)} #93#return; {9359#(<= (+ main_~c~0 main_~b~0) 1)} is VALID [2022-04-08 12:20:41,782 INFO L272 TraceCheckUtils]: 73: Hoare triple {9359#(<= (+ main_~c~0 main_~b~0) 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:41,782 INFO L290 TraceCheckUtils]: 74: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:41,782 INFO L290 TraceCheckUtils]: 75: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:41,782 INFO L290 TraceCheckUtils]: 76: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:41,782 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {9166#true} {9359#(<= (+ main_~c~0 main_~b~0) 1)} #95#return; {9359#(<= (+ main_~c~0 main_~b~0) 1)} is VALID [2022-04-08 12:20:41,782 INFO L272 TraceCheckUtils]: 78: Hoare triple {9359#(<= (+ main_~c~0 main_~b~0) 1)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:41,783 INFO L290 TraceCheckUtils]: 79: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:41,783 INFO L290 TraceCheckUtils]: 80: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:41,783 INFO L290 TraceCheckUtils]: 81: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:41,783 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {9166#true} {9359#(<= (+ main_~c~0 main_~b~0) 1)} #97#return; {9359#(<= (+ main_~c~0 main_~b~0) 1)} is VALID [2022-04-08 12:20:41,784 INFO L290 TraceCheckUtils]: 83: Hoare triple {9359#(<= (+ main_~c~0 main_~b~0) 1)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} is VALID [2022-04-08 12:20:41,784 INFO L290 TraceCheckUtils]: 84: Hoare triple {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} assume !false; {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} is VALID [2022-04-08 12:20:41,784 INFO L272 TraceCheckUtils]: 85: Hoare triple {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:41,784 INFO L290 TraceCheckUtils]: 86: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:41,784 INFO L290 TraceCheckUtils]: 87: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:41,784 INFO L290 TraceCheckUtils]: 88: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:41,785 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {9166#true} {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} #91#return; {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} is VALID [2022-04-08 12:20:41,785 INFO L272 TraceCheckUtils]: 90: Hoare triple {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:41,785 INFO L290 TraceCheckUtils]: 91: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:41,785 INFO L290 TraceCheckUtils]: 92: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:41,785 INFO L290 TraceCheckUtils]: 93: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:41,786 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {9166#true} {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} #93#return; {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} is VALID [2022-04-08 12:20:41,786 INFO L272 TraceCheckUtils]: 95: Hoare triple {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:41,786 INFO L290 TraceCheckUtils]: 96: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:41,786 INFO L290 TraceCheckUtils]: 97: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:41,786 INFO L290 TraceCheckUtils]: 98: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:41,786 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {9166#true} {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} #95#return; {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} is VALID [2022-04-08 12:20:41,787 INFO L272 TraceCheckUtils]: 100: Hoare triple {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:41,787 INFO L290 TraceCheckUtils]: 101: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:41,787 INFO L290 TraceCheckUtils]: 102: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:41,787 INFO L290 TraceCheckUtils]: 103: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:41,787 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {9166#true} {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} #97#return; {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} is VALID [2022-04-08 12:20:41,788 INFO L290 TraceCheckUtils]: 105: Hoare triple {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} assume !(~c~0 >= ~b~0); {9167#false} is VALID [2022-04-08 12:20:41,788 INFO L290 TraceCheckUtils]: 106: Hoare triple {9167#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {9167#false} is VALID [2022-04-08 12:20:41,788 INFO L290 TraceCheckUtils]: 107: Hoare triple {9167#false} assume !false; {9167#false} is VALID [2022-04-08 12:20:41,788 INFO L290 TraceCheckUtils]: 108: Hoare triple {9167#false} assume !(0 != ~b~0); {9167#false} is VALID [2022-04-08 12:20:41,788 INFO L272 TraceCheckUtils]: 109: Hoare triple {9167#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {9167#false} is VALID [2022-04-08 12:20:41,788 INFO L290 TraceCheckUtils]: 110: Hoare triple {9167#false} ~cond := #in~cond; {9167#false} is VALID [2022-04-08 12:20:41,788 INFO L290 TraceCheckUtils]: 111: Hoare triple {9167#false} assume 0 == ~cond; {9167#false} is VALID [2022-04-08 12:20:41,788 INFO L290 TraceCheckUtils]: 112: Hoare triple {9167#false} assume !false; {9167#false} is VALID [2022-04-08 12:20:41,788 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 26 proven. 33 refuted. 0 times theorem prover too weak. 309 trivial. 0 not checked. [2022-04-08 12:20:41,789 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:20:42,223 INFO L290 TraceCheckUtils]: 112: Hoare triple {9167#false} assume !false; {9167#false} is VALID [2022-04-08 12:20:42,224 INFO L290 TraceCheckUtils]: 111: Hoare triple {9167#false} assume 0 == ~cond; {9167#false} is VALID [2022-04-08 12:20:42,224 INFO L290 TraceCheckUtils]: 110: Hoare triple {9167#false} ~cond := #in~cond; {9167#false} is VALID [2022-04-08 12:20:42,224 INFO L272 TraceCheckUtils]: 109: Hoare triple {9167#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {9167#false} is VALID [2022-04-08 12:20:42,224 INFO L290 TraceCheckUtils]: 108: Hoare triple {9167#false} assume !(0 != ~b~0); {9167#false} is VALID [2022-04-08 12:20:42,224 INFO L290 TraceCheckUtils]: 107: Hoare triple {9167#false} assume !false; {9167#false} is VALID [2022-04-08 12:20:42,224 INFO L290 TraceCheckUtils]: 106: Hoare triple {9167#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {9167#false} is VALID [2022-04-08 12:20:42,224 INFO L290 TraceCheckUtils]: 105: Hoare triple {9535#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {9167#false} is VALID [2022-04-08 12:20:42,225 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {9166#true} {9535#(<= main_~b~0 main_~c~0)} #97#return; {9535#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 12:20:42,225 INFO L290 TraceCheckUtils]: 103: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:42,225 INFO L290 TraceCheckUtils]: 102: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:42,225 INFO L290 TraceCheckUtils]: 101: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:42,225 INFO L272 TraceCheckUtils]: 100: Hoare triple {9535#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:42,226 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {9166#true} {9535#(<= main_~b~0 main_~c~0)} #95#return; {9535#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 12:20:42,226 INFO L290 TraceCheckUtils]: 98: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:42,226 INFO L290 TraceCheckUtils]: 97: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:42,226 INFO L290 TraceCheckUtils]: 96: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:42,226 INFO L272 TraceCheckUtils]: 95: Hoare triple {9535#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:42,227 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {9166#true} {9535#(<= main_~b~0 main_~c~0)} #93#return; {9535#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 12:20:42,227 INFO L290 TraceCheckUtils]: 93: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:42,227 INFO L290 TraceCheckUtils]: 92: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:42,227 INFO L290 TraceCheckUtils]: 91: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:42,227 INFO L272 TraceCheckUtils]: 90: Hoare triple {9535#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:42,227 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {9166#true} {9535#(<= main_~b~0 main_~c~0)} #91#return; {9535#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 12:20:42,227 INFO L290 TraceCheckUtils]: 88: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:42,227 INFO L290 TraceCheckUtils]: 87: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:42,227 INFO L290 TraceCheckUtils]: 86: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:42,228 INFO L272 TraceCheckUtils]: 85: Hoare triple {9535#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:42,228 INFO L290 TraceCheckUtils]: 84: Hoare triple {9535#(<= main_~b~0 main_~c~0)} assume !false; {9535#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 12:20:42,229 INFO L290 TraceCheckUtils]: 83: Hoare triple {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {9535#(<= main_~b~0 main_~c~0)} is VALID [2022-04-08 12:20:42,229 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {9166#true} {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #97#return; {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-08 12:20:42,229 INFO L290 TraceCheckUtils]: 81: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:42,229 INFO L290 TraceCheckUtils]: 80: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:42,229 INFO L290 TraceCheckUtils]: 79: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:42,229 INFO L272 TraceCheckUtils]: 78: Hoare triple {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:42,230 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {9166#true} {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #95#return; {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-08 12:20:42,230 INFO L290 TraceCheckUtils]: 76: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:42,230 INFO L290 TraceCheckUtils]: 75: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:42,230 INFO L290 TraceCheckUtils]: 74: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:42,230 INFO L272 TraceCheckUtils]: 73: Hoare triple {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:42,231 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9166#true} {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #93#return; {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-08 12:20:42,231 INFO L290 TraceCheckUtils]: 71: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:42,231 INFO L290 TraceCheckUtils]: 70: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:42,231 INFO L290 TraceCheckUtils]: 69: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:42,231 INFO L272 TraceCheckUtils]: 68: Hoare triple {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:42,231 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9166#true} {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #91#return; {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-08 12:20:42,232 INFO L290 TraceCheckUtils]: 66: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:42,232 INFO L290 TraceCheckUtils]: 65: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:42,232 INFO L290 TraceCheckUtils]: 64: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:42,232 INFO L272 TraceCheckUtils]: 63: Hoare triple {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:42,232 INFO L290 TraceCheckUtils]: 62: Hoare triple {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} assume !false; {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-08 12:20:42,233 INFO L290 TraceCheckUtils]: 61: Hoare triple {9292#(<= main_~c~0 1)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-08 12:20:42,233 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #97#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-08 12:20:42,233 INFO L290 TraceCheckUtils]: 59: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:42,233 INFO L290 TraceCheckUtils]: 58: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:42,233 INFO L290 TraceCheckUtils]: 57: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:42,234 INFO L272 TraceCheckUtils]: 56: Hoare triple {9292#(<= main_~c~0 1)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:42,234 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #95#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-08 12:20:42,234 INFO L290 TraceCheckUtils]: 54: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:42,234 INFO L290 TraceCheckUtils]: 53: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:42,234 INFO L290 TraceCheckUtils]: 52: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:42,234 INFO L272 TraceCheckUtils]: 51: Hoare triple {9292#(<= main_~c~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:42,235 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #93#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-08 12:20:42,235 INFO L290 TraceCheckUtils]: 49: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:42,235 INFO L290 TraceCheckUtils]: 48: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:42,235 INFO L290 TraceCheckUtils]: 47: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:42,235 INFO L272 TraceCheckUtils]: 46: Hoare triple {9292#(<= main_~c~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:42,236 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #91#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-08 12:20:42,236 INFO L290 TraceCheckUtils]: 44: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:42,236 INFO L290 TraceCheckUtils]: 43: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:42,236 INFO L290 TraceCheckUtils]: 42: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:42,236 INFO L272 TraceCheckUtils]: 41: Hoare triple {9292#(<= main_~c~0 1)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:42,236 INFO L290 TraceCheckUtils]: 40: Hoare triple {9292#(<= main_~c~0 1)} assume !false; {9292#(<= main_~c~0 1)} is VALID [2022-04-08 12:20:42,237 INFO L290 TraceCheckUtils]: 39: Hoare triple {9255#(<= main_~a~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {9292#(<= main_~c~0 1)} is VALID [2022-04-08 12:20:42,237 INFO L290 TraceCheckUtils]: 38: Hoare triple {9255#(<= main_~a~0 1)} assume !false; {9255#(<= main_~a~0 1)} is VALID [2022-04-08 12:20:42,237 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {9166#true} {9255#(<= main_~a~0 1)} #89#return; {9255#(<= main_~a~0 1)} is VALID [2022-04-08 12:20:42,237 INFO L290 TraceCheckUtils]: 36: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:42,237 INFO L290 TraceCheckUtils]: 35: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:42,237 INFO L290 TraceCheckUtils]: 34: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:42,238 INFO L272 TraceCheckUtils]: 33: Hoare triple {9255#(<= main_~a~0 1)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:42,238 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9166#true} {9255#(<= main_~a~0 1)} #87#return; {9255#(<= main_~a~0 1)} is VALID [2022-04-08 12:20:42,238 INFO L290 TraceCheckUtils]: 31: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:42,238 INFO L290 TraceCheckUtils]: 30: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:42,238 INFO L290 TraceCheckUtils]: 29: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:42,238 INFO L272 TraceCheckUtils]: 28: Hoare triple {9255#(<= main_~a~0 1)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:42,239 INFO L290 TraceCheckUtils]: 27: Hoare triple {9771#(<= main_~x~0 1)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {9255#(<= main_~a~0 1)} is VALID [2022-04-08 12:20:42,239 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9166#true} {9771#(<= main_~x~0 1)} #85#return; {9771#(<= main_~x~0 1)} is VALID [2022-04-08 12:20:42,239 INFO L290 TraceCheckUtils]: 25: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:42,239 INFO L290 TraceCheckUtils]: 24: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:42,239 INFO L290 TraceCheckUtils]: 23: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:42,239 INFO L272 TraceCheckUtils]: 22: Hoare triple {9771#(<= main_~x~0 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:42,240 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9166#true} {9771#(<= main_~x~0 1)} #83#return; {9771#(<= main_~x~0 1)} is VALID [2022-04-08 12:20:42,240 INFO L290 TraceCheckUtils]: 20: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:42,240 INFO L290 TraceCheckUtils]: 19: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:42,240 INFO L290 TraceCheckUtils]: 18: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:42,240 INFO L272 TraceCheckUtils]: 17: Hoare triple {9771#(<= main_~x~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:42,240 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9166#true} {9771#(<= main_~x~0 1)} #81#return; {9771#(<= main_~x~0 1)} is VALID [2022-04-08 12:20:42,240 INFO L290 TraceCheckUtils]: 15: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:42,240 INFO L290 TraceCheckUtils]: 14: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-08 12:20:42,240 INFO L290 TraceCheckUtils]: 13: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-08 12:20:42,240 INFO L272 TraceCheckUtils]: 12: Hoare triple {9771#(<= main_~x~0 1)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:42,241 INFO L290 TraceCheckUtils]: 11: Hoare triple {9771#(<= main_~x~0 1)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9771#(<= main_~x~0 1)} is VALID [2022-04-08 12:20:42,241 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9196#(not (= |assume_abort_if_not_#in~cond| 0))} {9166#true} #79#return; {9771#(<= main_~x~0 1)} is VALID [2022-04-08 12:20:42,241 INFO L290 TraceCheckUtils]: 9: Hoare triple {9196#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9196#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:42,242 INFO L290 TraceCheckUtils]: 8: Hoare triple {9832#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {9196#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:20:42,242 INFO L290 TraceCheckUtils]: 7: Hoare triple {9166#true} ~cond := #in~cond; {9832#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 12:20:42,242 INFO L272 TraceCheckUtils]: 6: Hoare triple {9166#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {9166#true} is VALID [2022-04-08 12:20:42,242 INFO L290 TraceCheckUtils]: 5: Hoare triple {9166#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {9166#true} is VALID [2022-04-08 12:20:42,242 INFO L272 TraceCheckUtils]: 4: Hoare triple {9166#true} call #t~ret6 := main(); {9166#true} is VALID [2022-04-08 12:20:42,242 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9166#true} {9166#true} #103#return; {9166#true} is VALID [2022-04-08 12:20:42,242 INFO L290 TraceCheckUtils]: 2: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-08 12:20:42,242 INFO L290 TraceCheckUtils]: 1: Hoare triple {9166#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {9166#true} is VALID [2022-04-08 12:20:42,243 INFO L272 TraceCheckUtils]: 0: Hoare triple {9166#true} call ULTIMATE.init(); {9166#true} is VALID [2022-04-08 12:20:42,243 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 26 proven. 33 refuted. 0 times theorem prover too weak. 309 trivial. 0 not checked. [2022-04-08 12:20:42,243 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:20:42,243 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [841995302] [2022-04-08 12:20:42,243 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:20:42,243 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1855474978] [2022-04-08 12:20:42,243 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1855474978] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:20:42,243 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:20:42,243 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 13 [2022-04-08 12:20:42,244 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:20:42,244 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1292988095] [2022-04-08 12:20:42,244 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1292988095] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:20:42,244 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:20:42,244 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 12:20:42,244 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [410029750] [2022-04-08 12:20:42,244 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:20:42,244 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) Word has length 113 [2022-04-08 12:20:42,244 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:20:42,245 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-08 12:20:42,291 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:42,291 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 12:20:42,291 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:42,291 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 12:20:42,291 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=127, Unknown=0, NotChecked=0, Total=156 [2022-04-08 12:20:42,292 INFO L87 Difference]: Start difference. First operand 69 states and 82 transitions. Second operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-08 12:20:42,947 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:42,947 INFO L93 Difference]: Finished difference Result 69 states and 82 transitions. [2022-04-08 12:20:42,948 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 12:20:42,948 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) Word has length 113 [2022-04-08 12:20:42,948 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:20:42,948 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-08 12:20:42,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 70 transitions. [2022-04-08 12:20:42,949 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-08 12:20:42,950 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 70 transitions. [2022-04-08 12:20:42,950 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 70 transitions. [2022-04-08 12:20:43,000 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:43,001 INFO L225 Difference]: With dead ends: 69 [2022-04-08 12:20:43,001 INFO L226 Difference]: Without dead ends: 0 [2022-04-08 12:20:43,001 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 229 GetRequests, 213 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=55, Invalid=217, Unknown=0, NotChecked=0, Total=272 [2022-04-08 12:20:43,002 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 11 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 201 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 239 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 201 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 12:20:43,002 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 184 Invalid, 239 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 201 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 12:20:43,002 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-08 12:20:43,002 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-08 12:20:43,002 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:20:43,002 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 12:20:43,002 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 12:20:43,002 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 12:20:43,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:43,002 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 12:20:43,003 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 12:20:43,003 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:43,003 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:43,003 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-08 12:20:43,003 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-08 12:20:43,003 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:43,003 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 12:20:43,003 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 12:20:43,003 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:43,003 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:43,003 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:20:43,003 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:20:43,003 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 12:20:43,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-08 12:20:43,003 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 113 [2022-04-08 12:20:43,003 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:20:43,003 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-08 12:20:43,004 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-08 12:20:43,004 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-08 12:20:43,004 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:20:43,004 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 12:20:43,004 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:43,005 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-08 12:20:43,022 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-08 12:20:43,220 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 12:20:43,222 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-08 12:20:45,143 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 4) no Hoare annotation was computed. [2022-04-08 12:20:45,143 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 4) no Hoare annotation was computed. [2022-04-08 12:20:45,143 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 4) no Hoare annotation was computed. [2022-04-08 12:20:45,143 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 7 9) the Hoare annotation is: true [2022-04-08 12:20:45,143 INFO L878 garLoopResultBuilder]: At program point L8(line 8) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-08 12:20:45,143 INFO L878 garLoopResultBuilder]: At program point L8-2(lines 7 9) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-08 12:20:45,143 INFO L878 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 7 9) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-08 12:20:45,143 INFO L878 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1)) [2022-04-08 12:20:45,143 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 18 74) the Hoare annotation is: true [2022-04-08 12:20:45,144 INFO L878 garLoopResultBuilder]: At program point L50(line 50) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~s~0 1)) (.cse2 (<= 1 main_~a~0)) (.cse3 (= main_~b~0 main_~y~0)) (.cse4 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse5 (= main_~q~0 0)) (.cse6 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse8 (= main_~p~0 1))) (or (and .cse0 (<= (+ main_~c~0 main_~b~0) 1) .cse1 (<= main_~x~0 1) .cse2 (<= 0 main_~c~0) .cse3 (= main_~k~0 1) .cse4 .cse5 .cse6 .cse7 .cse8) (and .cse0 (= main_~k~0 0) .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~c~0 1) (= main_~c~0 main_~x~0) (<= main_~y~0 1) .cse8))) [2022-04-08 12:20:45,144 INFO L878 garLoopResultBuilder]: At program point L48(line 48) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse2 (= main_~s~0 1)) (.cse3 (= main_~b~0 main_~y~0)) (.cse4 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse5 (= main_~q~0 0)) (.cse6 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse8 (= main_~p~0 1))) (or (and .cse0 .cse1 .cse2 (<= 1 main_~a~0) .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~c~0 1) (= main_~c~0 main_~x~0) (<= main_~y~0 1) .cse8) (and .cse0 .cse1 .cse2 (<= main_~x~0 1) (<= 0 main_~c~0) .cse3 (= main_~k~0 1) .cse4 .cse5 .cse6 .cse7 .cse8))) [2022-04-08 12:20:45,144 INFO L878 garLoopResultBuilder]: At program point L48-1(line 48) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~s~0 1)) (.cse2 (<= 1 main_~a~0)) (.cse3 (= main_~b~0 main_~y~0)) (.cse4 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse5 (= main_~q~0 0)) (.cse6 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse8 (= main_~p~0 1))) (or (and .cse0 (<= (+ main_~c~0 main_~b~0) 1) .cse1 (<= main_~x~0 1) .cse2 (<= 0 main_~c~0) .cse3 (= main_~k~0 1) .cse4 .cse5 .cse6 .cse7 .cse8) (and .cse0 (= main_~k~0 0) .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~c~0 1) (= main_~c~0 main_~x~0) (<= main_~y~0 1) .cse8))) [2022-04-08 12:20:45,144 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 18 74) the Hoare annotation is: true [2022-04-08 12:20:45,144 INFO L878 garLoopResultBuilder]: At program point L42(lines 42 43) the Hoare annotation is: (let ((.cse0 (< main_~c~0 1)) (.cse1 (<= 0 main_~c~0)) (.cse2 (<= main_~y~0 1))) (or (and (= main_~r~0 0) .cse0 (= main_~s~0 1) (<= main_~x~0 1) (<= 1 main_~a~0) .cse1 (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) .cse2 (= main_~p~0 1)) (let ((.cse3 (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)))) (and .cse0 (< main_~b~0 1) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) .cse1 (< .cse3 (+ main_~y~0 1)) (< .cse3 (+ main_~x~0 1)) (<= 0 main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0) .cse2)))) [2022-04-08 12:20:45,144 INFO L878 garLoopResultBuilder]: At program point L71(line 71) the Hoare annotation is: (and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 1) (= main_~r~0 1) (<= 1 main_~y~0) (<= main_~y~0 1)) [2022-04-08 12:20:45,144 INFO L878 garLoopResultBuilder]: At program point L38(line 38) the Hoare annotation is: (and (= main_~r~0 0) (< main_~c~0 1) (= main_~s~0 1) (<= main_~x~0 1) (<= 1 main_~a~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1)) [2022-04-08 12:20:45,144 INFO L878 garLoopResultBuilder]: At program point L38-1(line 38) the Hoare annotation is: (and (= main_~r~0 0) (< main_~c~0 1) (= main_~s~0 1) (<= main_~x~0 1) (<= 1 main_~a~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1)) [2022-04-08 12:20:45,144 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 18 74) the Hoare annotation is: true [2022-04-08 12:20:45,144 INFO L878 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: (and (<= 1 main_~x~0) (<= main_~x~0 1) (<= 1 main_~y~0) (<= main_~y~0 1)) [2022-04-08 12:20:45,144 INFO L878 garLoopResultBuilder]: At program point L24(line 24) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 1)) [2022-04-08 12:20:45,144 INFO L878 garLoopResultBuilder]: At program point L24-1(line 24) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1)) [2022-04-08 12:20:45,144 INFO L885 garLoopResultBuilder]: At program point L22(line 22) the Hoare annotation is: true [2022-04-08 12:20:45,145 INFO L878 garLoopResultBuilder]: At program point L22-1(line 22) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 1)) [2022-04-08 12:20:45,145 INFO L878 garLoopResultBuilder]: At program point L51(lines 47 56) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~s~0 1)) (.cse2 (<= 1 main_~a~0)) (.cse3 (= main_~b~0 main_~y~0)) (.cse4 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse5 (= main_~q~0 0)) (.cse6 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse8 (= main_~p~0 1))) (or (and .cse0 (<= (+ main_~c~0 main_~b~0) 1) .cse1 (<= main_~x~0 1) .cse2 (<= 0 main_~c~0) .cse3 (= main_~k~0 1) .cse4 .cse5 .cse6 .cse7 .cse8) (and .cse0 (= main_~k~0 0) .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~c~0 1) (= main_~c~0 main_~x~0) (<= main_~y~0 1) .cse8))) [2022-04-08 12:20:45,145 INFO L878 garLoopResultBuilder]: At program point L49(line 49) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~s~0 1)) (.cse2 (<= 1 main_~a~0)) (.cse3 (= main_~b~0 main_~y~0)) (.cse4 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse5 (= main_~q~0 0)) (.cse6 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse8 (= main_~p~0 1))) (or (and .cse0 (<= (+ main_~c~0 main_~b~0) 1) .cse1 (<= main_~x~0 1) .cse2 (<= 0 main_~c~0) .cse3 (= main_~k~0 1) .cse4 .cse5 .cse6 .cse7 .cse8) (and .cse0 (= main_~k~0 0) .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~c~0 1) (= main_~c~0 main_~x~0) (<= main_~y~0 1) .cse8))) [2022-04-08 12:20:45,145 INFO L878 garLoopResultBuilder]: At program point L47-2(lines 47 56) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse2 (= main_~s~0 1)) (.cse3 (= main_~b~0 main_~y~0)) (.cse4 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse5 (= main_~q~0 0)) (.cse6 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse8 (= main_~p~0 1))) (or (and .cse0 .cse1 .cse2 (<= 1 main_~a~0) .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~c~0 1) (= main_~c~0 main_~x~0) (<= main_~y~0 1) .cse8) (and .cse0 .cse1 .cse2 (<= main_~x~0 1) (<= 0 main_~c~0) .cse3 (= main_~k~0 1) .cse4 .cse5 .cse6 .cse7 .cse8))) [2022-04-08 12:20:45,145 INFO L878 garLoopResultBuilder]: At program point L47-3(lines 47 56) the Hoare annotation is: (and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (< main_~c~0 1) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~k~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1)) [2022-04-08 12:20:45,145 INFO L878 garLoopResultBuilder]: At program point L41-1(lines 39 68) the Hoare annotation is: (let ((.cse0 (< main_~c~0 1)) (.cse1 (<= 0 main_~c~0)) (.cse2 (<= main_~y~0 1))) (or (and (= main_~r~0 0) .cse0 (= main_~s~0 1) (<= main_~x~0 1) (<= 1 main_~a~0) .cse1 (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) .cse2 (= main_~p~0 1)) (let ((.cse3 (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)))) (and .cse0 (< main_~b~0 1) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) .cse1 (< .cse3 (+ main_~y~0 1)) (< .cse3 (+ main_~x~0 1)) (<= 0 main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0) .cse2)))) [2022-04-08 12:20:45,145 INFO L885 garLoopResultBuilder]: At program point L72(line 72) the Hoare annotation is: true [2022-04-08 12:20:45,145 INFO L878 garLoopResultBuilder]: At program point L41-2(lines 41 68) the Hoare annotation is: (let ((.cse0 (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)))) (and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (< .cse0 (+ main_~y~0 1)) (< .cse0 (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))) [2022-04-08 12:20:45,145 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-08 12:20:45,145 INFO L878 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-08 12:20:45,145 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-08 12:20:45,145 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-08 12:20:45,145 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-08 12:20:45,145 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-08 12:20:45,145 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-08 12:20:45,146 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 10 16) the Hoare annotation is: true [2022-04-08 12:20:45,146 INFO L878 garLoopResultBuilder]: At program point L12(lines 12 13) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 12:20:45,146 INFO L878 garLoopResultBuilder]: At program point L11(lines 11 14) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-08 12:20:45,146 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 10 16) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-08 12:20:45,146 INFO L878 garLoopResultBuilder]: At program point L11-2(lines 10 16) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-08 12:20:45,146 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 13) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 12:20:45,148 INFO L719 BasicCegarLoop]: Path program histogram: [4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2] [2022-04-08 12:20:45,148 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2022-04-08 12:20:45,150 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-08 12:20:45,153 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-08 12:20:45,193 INFO L163 areAnnotationChecker]: CFG has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-08 12:20:45,213 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 08.04 12:20:45 BoogieIcfgContainer [2022-04-08 12:20:45,213 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-08 12:20:45,214 INFO L158 Benchmark]: Toolchain (without parser) took 159024.76ms. Allocated memory was 199.2MB in the beginning and 251.7MB in the end (delta: 52.4MB). Free memory was 151.2MB in the beginning and 102.1MB in the end (delta: 49.1MB). Peak memory consumption was 125.4MB. Max. memory is 8.0GB. [2022-04-08 12:20:45,214 INFO L158 Benchmark]: CDTParser took 0.12ms. Allocated memory is still 199.2MB. Free memory is still 167.8MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-08 12:20:45,214 INFO L158 Benchmark]: CACSL2BoogieTranslator took 235.22ms. Allocated memory is still 199.2MB. Free memory was 151.1MB in the beginning and 174.5MB in the end (delta: -23.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-08 12:20:45,214 INFO L158 Benchmark]: Boogie Preprocessor took 38.17ms. Allocated memory is still 199.2MB. Free memory was 174.5MB in the beginning and 173.1MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-08 12:20:45,215 INFO L158 Benchmark]: RCFGBuilder took 243.61ms. Allocated memory is still 199.2MB. Free memory was 173.1MB in the beginning and 160.2MB in the end (delta: 12.8MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-08 12:20:45,215 INFO L158 Benchmark]: TraceAbstraction took 158502.37ms. Allocated memory was 199.2MB in the beginning and 251.7MB in the end (delta: 52.4MB). Free memory was 159.4MB in the beginning and 102.1MB in the end (delta: 57.3MB). Peak memory consumption was 134.1MB. Max. memory is 8.0GB. [2022-04-08 12:20:45,216 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.12ms. Allocated memory is still 199.2MB. Free memory is still 167.8MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 235.22ms. Allocated memory is still 199.2MB. Free memory was 151.1MB in the beginning and 174.5MB in the end (delta: -23.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * Boogie Preprocessor took 38.17ms. Allocated memory is still 199.2MB. Free memory was 174.5MB in the beginning and 173.1MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 243.61ms. Allocated memory is still 199.2MB. Free memory was 173.1MB in the beginning and 160.2MB in the end (delta: 12.8MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 158502.37ms. Allocated memory was 199.2MB in the beginning and 251.7MB in the end (delta: 52.4MB). Free memory was 159.4MB in the beginning and 102.1MB in the end (delta: 57.3MB). Peak memory consumption was 134.1MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 13]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 43 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 158.4s, OverallIterations: 13, TraceHistogramMax: 13, PathProgramHistogramMax: 4, EmptinessCheckTime: 0.0s, AutomataDifference: 10.1s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 1.9s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 362 SdHoareTripleChecker+Valid, 3.1s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 279 mSDsluCounter, 2333 SdHoareTripleChecker+Invalid, 3.1s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1776 mSDsCounter, 238 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2547 IncrementalHoareTripleChecker+Invalid, 2785 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 238 mSolverCounterUnsat, 557 mSDtfsCounter, 2547 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1589 GetRequests, 1417 SyntacticMatches, 11 SemanticMatches, 161 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 348 ImplicationChecksByTransitivity, 1.3s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=89occurred in iteration=8, InterpolantAutomatonStates: 112, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.3s AutomataMinimizationTime, 13 MinimizatonAttempts, 46 StatesRemovedByMinimization, 10 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 40 LocationsWithAnnotation, 398 PreInvPairs, 497 NumberOfFragments, 1059 HoareAnnotationTreeSize, 398 FomulaSimplifications, 263 FormulaSimplificationTreeSizeReduction, 0.5s HoareSimplificationTime, 40 FomulaSimplificationsInter, 4050 FormulaSimplificationTreeSizeReductionInter, 1.4s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 47]: Loop Invariant Derived loop invariant: ((((((((((((r == 0 && a == c + b * k) && s == 1) && 1 <= a) && b == y) && yy == y * y) && q == 0) && 1 <= y) && a == x) && c <= 1) && c == x) && y <= 1) && p == 1) || (((((((((((r == 0 && a == c + b * k) && s == 1) && x <= 1) && 0 <= c) && b == y) && k == 1) && yy == y * y) && q == 0) && 1 <= y) && a == x) && p == 1) - InvariantResult [Line: 39]: Loop Invariant Derived loop invariant: ((((((((((((r == 0 && c < 1) && s == 1) && x <= 1) && 1 <= a) && 0 <= c) && b == y) && yy == y * y) && q == 0) && 1 <= y) && a == x) && y <= 1) && p == 1) || (((((((((((c < 1 && b < 1) && p == 0) && a == y * r + p * x) && r == 1) && 0 <= c) && (-1 + -1 * x) / -2 < y + 1) && (-1 + -1 * x) / -2 < x + 1) && 0 <= b) && q == 1) && s + 1 == 0) && y <= 1) - ProcedureContractResult [Line: 7]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 18]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 10]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: \old(cond) == cond || !(1 <= \old(cond)) RESULT: Ultimate proved your program to be correct! [2022-04-08 12:20:45,243 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...