/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/bresenham-ll_valuebound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 13:45:43,065 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 13:45:43,067 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 13:45:43,113 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 13:45:43,113 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 13:45:43,114 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 13:45:43,115 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 13:45:43,116 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 13:45:43,117 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 13:45:43,121 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 13:45:43,122 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 13:45:43,125 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 13:45:43,125 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 13:45:43,130 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 13:45:43,131 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 13:45:43,132 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 13:45:43,132 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 13:45:43,133 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 13:45:43,133 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 13:45:43,135 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 13:45:43,135 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 13:45:43,136 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 13:45:43,137 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 13:45:43,138 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 13:45:43,138 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 13:45:43,140 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 13:45:43,140 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 13:45:43,140 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 13:45:43,141 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 13:45:43,141 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 13:45:43,142 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 13:45:43,142 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 13:45:43,142 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 13:45:43,143 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 13:45:43,143 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 13:45:43,144 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 13:45:43,144 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 13:45:43,144 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 13:45:43,144 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 13:45:43,145 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 13:45:43,145 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 13:45:43,149 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 13:45:43,150 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-15 13:45:43,156 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 13:45:43,157 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 13:45:43,158 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 13:45:43,158 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 13:45:43,158 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 13:45:43,158 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 13:45:43,158 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 13:45:43,158 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 13:45:43,158 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 13:45:43,158 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 13:45:43,158 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 13:45:43,159 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 13:45:43,159 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 13:45:43,159 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 13:45:43,161 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 13:45:43,161 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 13:45:43,161 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 13:45:43,161 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 13:45:43,161 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 13:45:43,161 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 13:45:43,161 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 13:45:43,161 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-15 13:45:43,162 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-15 13:45:43,335 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 13:45:43,365 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 13:45:43,370 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 13:45:43,371 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 13:45:43,371 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 13:45:43,373 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound100.c [2022-04-15 13:45:43,446 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f666bbdb3/ddf06da20e63422ab6319cc3fc154e3d/FLAG3c6837fb7 [2022-04-15 13:45:43,797 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 13:45:43,797 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound100.c [2022-04-15 13:45:43,803 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f666bbdb3/ddf06da20e63422ab6319cc3fc154e3d/FLAG3c6837fb7 [2022-04-15 13:45:44,235 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f666bbdb3/ddf06da20e63422ab6319cc3fc154e3d [2022-04-15 13:45:44,239 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 13:45:44,240 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 13:45:44,242 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 13:45:44,242 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 13:45:44,244 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 13:45:44,245 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 01:45:44" (1/1) ... [2022-04-15 13:45:44,246 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4cba8c5c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:45:44, skipping insertion in model container [2022-04-15 13:45:44,247 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 01:45:44" (1/1) ... [2022-04-15 13:45:44,252 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 13:45:44,262 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 13:45:44,380 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/bresenham-ll_valuebound100.c[597,610] [2022-04-15 13:45:44,395 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 13:45:44,403 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 13:45:44,411 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/bresenham-ll_valuebound100.c[597,610] [2022-04-15 13:45:44,418 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 13:45:44,427 INFO L208 MainTranslator]: Completed translation [2022-04-15 13:45:44,428 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:45:44 WrapperNode [2022-04-15 13:45:44,428 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 13:45:44,429 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 13:45:44,429 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 13:45:44,429 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 13:45:44,440 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:45:44" (1/1) ... [2022-04-15 13:45:44,440 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:45:44" (1/1) ... [2022-04-15 13:45:44,445 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:45:44" (1/1) ... [2022-04-15 13:45:44,445 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:45:44" (1/1) ... [2022-04-15 13:45:44,450 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:45:44" (1/1) ... [2022-04-15 13:45:44,453 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:45:44" (1/1) ... [2022-04-15 13:45:44,458 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:45:44" (1/1) ... [2022-04-15 13:45:44,459 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 13:45:44,460 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 13:45:44,460 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 13:45:44,460 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 13:45:44,463 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:45:44" (1/1) ... [2022-04-15 13:45:44,473 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 13:45:44,481 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:45:44,492 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-15 13:45:44,498 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-15 13:45:44,521 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 13:45:44,521 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 13:45:44,521 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 13:45:44,521 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 13:45:44,521 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 13:45:44,521 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 13:45:44,522 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 13:45:44,522 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 13:45:44,522 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 13:45:44,522 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 13:45:44,522 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 13:45:44,522 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 13:45:44,522 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 13:45:44,522 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 13:45:44,522 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 13:45:44,522 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 13:45:44,522 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 13:45:44,522 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 13:45:44,522 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 13:45:44,523 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 13:45:44,569 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 13:45:44,570 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 13:45:44,746 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 13:45:44,752 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 13:45:44,752 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 13:45:44,754 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 01:45:44 BoogieIcfgContainer [2022-04-15 13:45:44,754 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 13:45:44,757 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 13:45:44,757 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 13:45:44,761 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 13:45:44,762 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 01:45:44" (1/3) ... [2022-04-15 13:45:44,762 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2aa4bfab and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 01:45:44, skipping insertion in model container [2022-04-15 13:45:44,762 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 01:45:44" (2/3) ... [2022-04-15 13:45:44,762 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2aa4bfab and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 01:45:44, skipping insertion in model container [2022-04-15 13:45:44,763 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 01:45:44" (3/3) ... [2022-04-15 13:45:44,764 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_valuebound100.c [2022-04-15 13:45:44,768 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 13:45:44,768 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 13:45:44,804 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 13:45:44,809 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 13:45:44,810 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 13:45:44,828 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 13:45:44,834 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-15 13:45:44,834 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:45:44,835 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 13:45:44,836 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:45:44,839 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:45:44,840 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 1 times [2022-04-15 13:45:44,847 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:45:44,848 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2112912701] [2022-04-15 13:45:44,858 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:45:44,859 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 2 times [2022-04-15 13:45:44,862 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:45:44,862 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1309974874] [2022-04-15 13:45:44,862 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:45:44,864 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:45:44,977 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:45:45,062 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 13:45:45,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:45:45,097 INFO L290 TraceCheckUtils]: 0: Hoare triple {48#(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(15, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-15 13:45:45,097 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-15 13:45:45,097 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-15 13:45:45,098 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 13:45:45,105 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:45:45,120 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 13:45:45,121 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 13:45:45,121 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 13:45:45,122 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-15 13:45:45,124 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 13:45:45,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:45:45,148 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 13:45:45,149 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 13:45:45,149 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 13:45:45,149 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-15 13:45:45,151 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {48#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 13:45:45,151 INFO L290 TraceCheckUtils]: 1: Hoare triple {48#(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(15, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-15 13:45:45,151 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-15 13:45:45,151 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-15 13:45:45,151 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret8 := main(); {35#true} is VALID [2022-04-15 13:45:45,152 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {35#true} is VALID [2022-04-15 13:45:45,152 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {35#true} is VALID [2022-04-15 13:45:45,152 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 13:45:45,153 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 13:45:45,153 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 13:45:45,153 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-15 13:45:45,153 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {36#false} is VALID [2022-04-15 13:45:45,153 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {35#true} is VALID [2022-04-15 13:45:45,154 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 13:45:45,154 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 13:45:45,154 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 13:45:45,155 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-15 13:45:45,155 INFO L290 TraceCheckUtils]: 17: Hoare triple {36#false} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {36#false} is VALID [2022-04-15 13:45:45,155 INFO L290 TraceCheckUtils]: 18: Hoare triple {36#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {36#false} is VALID [2022-04-15 13:45:45,155 INFO L272 TraceCheckUtils]: 19: Hoare triple {36#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {36#false} is VALID [2022-04-15 13:45:45,155 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-15 13:45:45,155 INFO L290 TraceCheckUtils]: 21: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-15 13:45:45,156 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-15 13:45:45,156 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-15 13:45:45,156 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:45:45,157 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1309974874] [2022-04-15 13:45:45,157 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1309974874] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:45:45,157 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:45:45,158 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 13:45:45,160 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:45:45,160 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2112912701] [2022-04-15 13:45:45,160 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2112912701] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:45:45,160 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:45:45,160 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 13:45:45,161 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1820346541] [2022-04-15 13:45:45,161 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:45:45,166 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-15 13:45:45,168 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:45:45,170 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 13:45:45,209 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:45:45,209 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 13:45:45,209 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:45:45,233 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 13:45:45,233 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 13:45:45,237 INFO L87 Difference]: Start difference. First operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 13:45:45,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:45:45,405 INFO L93 Difference]: Finished difference Result 57 states and 74 transitions. [2022-04-15 13:45:45,405 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 13:45:45,406 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-15 13:45:45,406 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:45:45,407 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 13:45:45,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-15 13:45:45,412 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 13:45:45,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-15 13:45:45,415 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2022-04-15 13:45:45,521 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:45:45,530 INFO L225 Difference]: With dead ends: 57 [2022-04-15 13:45:45,530 INFO L226 Difference]: Without dead ends: 27 [2022-04-15 13:45:45,534 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 13:45:45,538 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 6 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 11 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 6 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 13:45:45,540 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 34 Invalid, 11 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 6 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 13:45:45,554 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-15 13:45:45,574 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-15 13:45:45,574 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:45:45,576 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 13:45:45,578 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 13:45:45,579 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 13:45:45,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:45:45,586 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-15 13:45:45,591 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-15 13:45:45,592 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:45:45,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:45:45,594 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 27 states. [2022-04-15 13:45:45,594 INFO L87 Difference]: Start difference. First operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 27 states. [2022-04-15 13:45:45,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:45:45,605 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-15 13:45:45,605 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-15 13:45:45,605 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:45:45,606 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:45:45,606 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:45:45,606 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:45:45,606 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 18 states have internal predecessors, (20), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-15 13:45:45,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-15 13:45:45,609 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 23 [2022-04-15 13:45:45,609 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:45:45,610 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-15 13:45:45,610 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, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 13:45:45,610 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 30 transitions. [2022-04-15 13:45:45,642 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:45:45,643 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-15 13:45:45,644 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-15 13:45:45,644 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:45:45,644 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 13:45:45,644 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 13:45:45,645 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:45:45,646 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:45:45,646 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 1 times [2022-04-15 13:45:45,646 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:45:45,647 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2026929651] [2022-04-15 13:45:45,648 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:45:45,649 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 2 times [2022-04-15 13:45:45,649 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:45:45,649 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1418237327] [2022-04-15 13:45:45,649 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:45:45,649 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:45:45,694 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:45:45,695 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [972168364] [2022-04-15 13:45:45,695 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 13:45:45,695 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:45:45,695 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:45:45,697 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:45:45,698 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-15 13:45:45,755 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 13:45:45,755 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:45:45,757 INFO L263 TraceCheckSpWp]: Trace formula consists of 71 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-15 13:45:45,771 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:45:45,775 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:45:46,007 INFO L272 TraceCheckUtils]: 0: Hoare triple {273#true} call ULTIMATE.init(); {273#true} is VALID [2022-04-15 13:45:46,008 INFO L290 TraceCheckUtils]: 1: Hoare triple {273#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(15, 2);call #Ultimate.allocInit(12, 3); {273#true} is VALID [2022-04-15 13:45:46,008 INFO L290 TraceCheckUtils]: 2: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-15 13:45:46,008 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {273#true} {273#true} #69#return; {273#true} is VALID [2022-04-15 13:45:46,008 INFO L272 TraceCheckUtils]: 4: Hoare triple {273#true} call #t~ret8 := main(); {273#true} is VALID [2022-04-15 13:45:46,008 INFO L290 TraceCheckUtils]: 5: Hoare triple {273#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {273#true} is VALID [2022-04-15 13:45:46,010 INFO L272 TraceCheckUtils]: 6: Hoare triple {273#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {273#true} is VALID [2022-04-15 13:45:46,010 INFO L290 TraceCheckUtils]: 7: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-15 13:45:46,010 INFO L290 TraceCheckUtils]: 8: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-15 13:45:46,010 INFO L290 TraceCheckUtils]: 9: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-15 13:45:46,010 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {273#true} {273#true} #61#return; {273#true} is VALID [2022-04-15 13:45:46,010 INFO L290 TraceCheckUtils]: 11: Hoare triple {273#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {273#true} is VALID [2022-04-15 13:45:46,011 INFO L272 TraceCheckUtils]: 12: Hoare triple {273#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {273#true} is VALID [2022-04-15 13:45:46,012 INFO L290 TraceCheckUtils]: 13: Hoare triple {273#true} ~cond := #in~cond; {273#true} is VALID [2022-04-15 13:45:46,016 INFO L290 TraceCheckUtils]: 14: Hoare triple {273#true} assume !(0 == ~cond); {273#true} is VALID [2022-04-15 13:45:46,016 INFO L290 TraceCheckUtils]: 15: Hoare triple {273#true} assume true; {273#true} is VALID [2022-04-15 13:45:46,017 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {273#true} {273#true} #63#return; {273#true} is VALID [2022-04-15 13:45:46,018 INFO L290 TraceCheckUtils]: 17: Hoare triple {273#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {329#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:45:46,023 INFO L290 TraceCheckUtils]: 18: Hoare triple {329#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {333#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} is VALID [2022-04-15 13:45:46,025 INFO L272 TraceCheckUtils]: 19: Hoare triple {333#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {337#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:45:46,026 INFO L290 TraceCheckUtils]: 20: Hoare triple {337#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {341#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:45:46,027 INFO L290 TraceCheckUtils]: 21: Hoare triple {341#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {274#false} is VALID [2022-04-15 13:45:46,027 INFO L290 TraceCheckUtils]: 22: Hoare triple {274#false} assume !false; {274#false} is VALID [2022-04-15 13:45:46,028 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-15 13:45:46,028 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 13:45:46,028 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:45:46,028 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1418237327] [2022-04-15 13:45:46,029 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:45:46,029 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [972168364] [2022-04-15 13:45:46,030 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [972168364] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:45:46,030 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:45:46,030 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 13:45:46,031 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:45:46,031 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2026929651] [2022-04-15 13:45:46,031 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2026929651] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:45:46,031 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:45:46,031 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 13:45:46,032 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [481791556] [2022-04-15 13:45:46,032 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:45:46,033 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-15 13:45:46,034 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:45:46,034 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-15 13:45:46,051 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:45:46,052 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 13:45:46,053 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:45:46,054 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 13:45:46,054 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 13:45:46,055 INFO L87 Difference]: Start difference. First operand 27 states and 30 transitions. Second operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-15 13:45:46,281 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:45:46,282 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-15 13:45:46,282 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 13:45:46,282 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-15 13:45:46,282 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:45:46,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-15 13:45:46,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-15 13:45:46,284 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-15 13:45:46,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-15 13:45:46,286 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-15 13:45:46,329 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:45:46,330 INFO L225 Difference]: With dead ends: 39 [2022-04-15 13:45:46,330 INFO L226 Difference]: Without dead ends: 35 [2022-04-15 13:45:46,331 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-15 13:45:46,332 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 10 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 61 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 91 SdHoareTripleChecker+Invalid, 66 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 61 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 13:45:46,332 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 91 Invalid, 66 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 61 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 13:45:46,333 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-15 13:45:46,347 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-15 13:45:46,347 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:45:46,348 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 13:45:46,348 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 13:45:46,348 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 13:45:46,350 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:45:46,350 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-15 13:45:46,350 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-15 13:45:46,351 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:45:46,351 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:45:46,351 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-15 13:45:46,352 INFO L87 Difference]: Start difference. First operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-15 13:45:46,353 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:45:46,354 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-15 13:45:46,354 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-15 13:45:46,354 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:45:46,354 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:45:46,354 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:45:46,354 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:45:46,354 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 23 states have internal predecessors, (25), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 13:45:46,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 37 transitions. [2022-04-15 13:45:46,356 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 37 transitions. Word has length 23 [2022-04-15 13:45:46,356 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:45:46,356 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 37 transitions. [2022-04-15 13:45:46,357 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-15 13:45:46,357 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 37 transitions. [2022-04-15 13:45:46,387 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:45:46,388 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 37 transitions. [2022-04-15 13:45:46,388 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-15 13:45:46,388 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:45:46,388 INFO L499 BasicCegarLoop]: trace histogram [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] [2022-04-15 13:45:46,409 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-15 13:45:46,603 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:45:46,604 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:45:46,604 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:45:46,604 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 1 times [2022-04-15 13:45:46,604 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:45:46,604 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [831431852] [2022-04-15 13:45:46,605 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:45:46,605 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 2 times [2022-04-15 13:45:46,605 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:45:46,605 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1327197092] [2022-04-15 13:45:46,605 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:45:46,605 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:45:46,623 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:45:46,623 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1658639487] [2022-04-15 13:45:46,623 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 13:45:46,623 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:45:46,624 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:45:46,625 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:45:46,626 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-15 13:45:46,680 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 13:45:46,680 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:45:46,681 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-15 13:45:46,692 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:45:46,693 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:45:47,066 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-15 13:45:47,066 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#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(15, 2);call #Ultimate.allocInit(12, 3); {567#true} is VALID [2022-04-15 13:45:47,066 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 13:45:47,066 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-15 13:45:47,066 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-15 13:45:47,067 INFO L290 TraceCheckUtils]: 5: Hoare triple {567#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {567#true} is VALID [2022-04-15 13:45:47,067 INFO L272 TraceCheckUtils]: 6: Hoare triple {567#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {567#true} is VALID [2022-04-15 13:45:47,067 INFO L290 TraceCheckUtils]: 7: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-15 13:45:47,067 INFO L290 TraceCheckUtils]: 8: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-15 13:45:47,067 INFO L290 TraceCheckUtils]: 9: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 13:45:47,067 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {567#true} {567#true} #61#return; {567#true} is VALID [2022-04-15 13:45:47,067 INFO L290 TraceCheckUtils]: 11: Hoare triple {567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {567#true} is VALID [2022-04-15 13:45:47,068 INFO L272 TraceCheckUtils]: 12: Hoare triple {567#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {567#true} is VALID [2022-04-15 13:45:47,068 INFO L290 TraceCheckUtils]: 13: Hoare triple {567#true} ~cond := #in~cond; {611#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 13:45:47,068 INFO L290 TraceCheckUtils]: 14: Hoare triple {611#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {615#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:45:47,069 INFO L290 TraceCheckUtils]: 15: Hoare triple {615#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {615#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:45:47,069 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {615#(not (= |assume_abort_if_not_#in~cond| 0))} {567#true} #63#return; {622#(and (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:45:47,070 INFO L290 TraceCheckUtils]: 17: Hoare triple {622#(and (<= 0 main_~Y~0) (<= main_~Y~0 100))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:45:47,071 INFO L290 TraceCheckUtils]: 18: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:45:47,071 INFO L272 TraceCheckUtils]: 19: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {567#true} is VALID [2022-04-15 13:45:47,071 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-15 13:45:47,071 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-15 13:45:47,071 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 13:45:47,073 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {567#true} {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} #65#return; {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:45:47,074 INFO L290 TraceCheckUtils]: 24: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume !!(~x~0 <= ~X~0); {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:45:47,075 INFO L290 TraceCheckUtils]: 25: Hoare triple {626#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {651#(and (= main_~x~0 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:45:47,076 INFO L290 TraceCheckUtils]: 26: Hoare triple {651#(and (= main_~x~0 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {655#(and (= main_~x~0 1) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:45:47,077 INFO L290 TraceCheckUtils]: 27: Hoare triple {655#(and (= main_~x~0 1) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {659#(and (= main_~xy~0 0) (<= 0 main_~Y~0) (= main_~Y~0 main_~yx~0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:45:47,078 INFO L272 TraceCheckUtils]: 28: Hoare triple {659#(and (= main_~xy~0 0) (<= 0 main_~Y~0) (= main_~Y~0 main_~yx~0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {663#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:45:47,079 INFO L290 TraceCheckUtils]: 29: Hoare triple {663#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {667#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:45:47,080 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-15 13:45:47,080 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-15 13:45:47,080 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 5 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-15 13:45:47,080 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:45:47,351 INFO L290 TraceCheckUtils]: 31: Hoare triple {568#false} assume !false; {568#false} is VALID [2022-04-15 13:45:47,352 INFO L290 TraceCheckUtils]: 30: Hoare triple {667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {568#false} is VALID [2022-04-15 13:45:47,352 INFO L290 TraceCheckUtils]: 29: Hoare triple {663#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {667#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:45:47,353 INFO L272 TraceCheckUtils]: 28: Hoare triple {683#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {663#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:45:47,354 INFO L290 TraceCheckUtils]: 27: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {683#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 13:45:47,363 INFO L290 TraceCheckUtils]: 26: Hoare triple {691#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:45:47,364 INFO L290 TraceCheckUtils]: 25: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {691#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 13:45:47,365 INFO L290 TraceCheckUtils]: 24: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:45:47,366 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {567#true} {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #65#return; {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:45:47,366 INFO L290 TraceCheckUtils]: 22: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 13:45:47,366 INFO L290 TraceCheckUtils]: 21: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-15 13:45:47,366 INFO L290 TraceCheckUtils]: 20: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-15 13:45:47,366 INFO L272 TraceCheckUtils]: 19: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {567#true} is VALID [2022-04-15 13:45:47,369 INFO L290 TraceCheckUtils]: 18: Hoare triple {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:45:47,370 INFO L290 TraceCheckUtils]: 17: Hoare triple {567#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {687#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:45:47,370 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {567#true} {567#true} #63#return; {567#true} is VALID [2022-04-15 13:45:47,370 INFO L290 TraceCheckUtils]: 15: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 13:45:47,370 INFO L290 TraceCheckUtils]: 14: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-15 13:45:47,370 INFO L290 TraceCheckUtils]: 13: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-15 13:45:47,371 INFO L272 TraceCheckUtils]: 12: Hoare triple {567#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {567#true} is VALID [2022-04-15 13:45:47,371 INFO L290 TraceCheckUtils]: 11: Hoare triple {567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {567#true} is VALID [2022-04-15 13:45:47,371 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {567#true} {567#true} #61#return; {567#true} is VALID [2022-04-15 13:45:47,371 INFO L290 TraceCheckUtils]: 9: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 13:45:47,371 INFO L290 TraceCheckUtils]: 8: Hoare triple {567#true} assume !(0 == ~cond); {567#true} is VALID [2022-04-15 13:45:47,371 INFO L290 TraceCheckUtils]: 7: Hoare triple {567#true} ~cond := #in~cond; {567#true} is VALID [2022-04-15 13:45:47,371 INFO L272 TraceCheckUtils]: 6: Hoare triple {567#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {567#true} is VALID [2022-04-15 13:45:47,371 INFO L290 TraceCheckUtils]: 5: Hoare triple {567#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {567#true} is VALID [2022-04-15 13:45:47,371 INFO L272 TraceCheckUtils]: 4: Hoare triple {567#true} call #t~ret8 := main(); {567#true} is VALID [2022-04-15 13:45:47,372 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {567#true} {567#true} #69#return; {567#true} is VALID [2022-04-15 13:45:47,372 INFO L290 TraceCheckUtils]: 2: Hoare triple {567#true} assume true; {567#true} is VALID [2022-04-15 13:45:47,372 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#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(15, 2);call #Ultimate.allocInit(12, 3); {567#true} is VALID [2022-04-15 13:45:47,372 INFO L272 TraceCheckUtils]: 0: Hoare triple {567#true} call ULTIMATE.init(); {567#true} is VALID [2022-04-15 13:45:47,372 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-15 13:45:47,372 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:45:47,372 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1327197092] [2022-04-15 13:45:47,373 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:45:47,373 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1658639487] [2022-04-15 13:45:47,373 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1658639487] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:45:47,373 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:45:47,373 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 7] total 14 [2022-04-15 13:45:47,373 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:45:47,373 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [831431852] [2022-04-15 13:45:47,373 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [831431852] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:45:47,373 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:45:47,373 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 13:45:47,374 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [584481848] [2022-04-15 13:45:47,374 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:45:47,374 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-15 13:45:47,374 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:45:47,374 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 13:45:47,400 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:45:47,400 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 13:45:47,400 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:45:47,400 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 13:45:47,401 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=149, Unknown=0, NotChecked=0, Total=182 [2022-04-15 13:45:47,401 INFO L87 Difference]: Start difference. First operand 34 states and 37 transitions. Second operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 13:45:48,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:45:48,032 INFO L93 Difference]: Finished difference Result 48 states and 54 transitions. [2022-04-15 13:45:48,032 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 13:45:48,032 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-15 13:45:48,032 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:45:48,033 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 13:45:48,034 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 51 transitions. [2022-04-15 13:45:48,035 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 13:45:48,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 51 transitions. [2022-04-15 13:45:48,037 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 51 transitions. [2022-04-15 13:45:48,080 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:45:48,081 INFO L225 Difference]: With dead ends: 48 [2022-04-15 13:45:48,082 INFO L226 Difference]: Without dead ends: 44 [2022-04-15 13:45:48,082 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 49 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=48, Invalid=224, Unknown=0, NotChecked=0, Total=272 [2022-04-15 13:45:48,083 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 22 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 211 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 150 SdHoareTripleChecker+Invalid, 222 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 211 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 13:45:48,083 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 150 Invalid, 222 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 211 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 13:45:48,084 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-15 13:45:48,127 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 43. [2022-04-15 13:45:48,128 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:45:48,128 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 13:45:48,128 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 13:45:48,129 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 13:45:48,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:45:48,131 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-15 13:45:48,131 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-15 13:45:48,131 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:45:48,131 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:45:48,131 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 44 states. [2022-04-15 13:45:48,132 INFO L87 Difference]: Start difference. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 44 states. [2022-04-15 13:45:48,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:45:48,134 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-15 13:45:48,134 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-15 13:45:48,134 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:45:48,134 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:45:48,134 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:45:48,134 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:45:48,134 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 13:45:48,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 47 transitions. [2022-04-15 13:45:48,136 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 47 transitions. Word has length 32 [2022-04-15 13:45:48,136 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:45:48,143 INFO L478 AbstractCegarLoop]: Abstraction has 43 states and 47 transitions. [2022-04-15 13:45:48,143 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 9 states have internal predecessors, (22), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 13:45:48,144 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 47 transitions. [2022-04-15 13:45:48,191 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:45:48,191 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2022-04-15 13:45:48,192 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-15 13:45:48,192 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:45:48,192 INFO L499 BasicCegarLoop]: trace histogram [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] [2022-04-15 13:45:48,210 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-15 13:45:48,403 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-15 13:45:48,404 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:45:48,404 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:45:48,404 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 1 times [2022-04-15 13:45:48,404 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:45:48,404 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [361463192] [2022-04-15 13:45:48,405 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:45:48,405 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 2 times [2022-04-15 13:45:48,405 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:45:48,405 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1147589507] [2022-04-15 13:45:48,405 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:45:48,405 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:45:48,431 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:45:48,432 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [54327500] [2022-04-15 13:45:48,432 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 13:45:48,432 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:45:48,432 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:45:48,435 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:45:48,436 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-15 13:45:48,472 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 13:45:48,473 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:45:48,474 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-15 13:45:48,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:45:48,492 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:45:48,700 INFO L272 TraceCheckUtils]: 0: Hoare triple {1048#true} call ULTIMATE.init(); {1048#true} is VALID [2022-04-15 13:45:48,700 INFO L290 TraceCheckUtils]: 1: Hoare triple {1048#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(15, 2);call #Ultimate.allocInit(12, 3); {1048#true} is VALID [2022-04-15 13:45:48,700 INFO L290 TraceCheckUtils]: 2: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-15 13:45:48,700 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1048#true} {1048#true} #69#return; {1048#true} is VALID [2022-04-15 13:45:48,700 INFO L272 TraceCheckUtils]: 4: Hoare triple {1048#true} call #t~ret8 := main(); {1048#true} is VALID [2022-04-15 13:45:48,701 INFO L290 TraceCheckUtils]: 5: Hoare triple {1048#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1048#true} is VALID [2022-04-15 13:45:48,701 INFO L272 TraceCheckUtils]: 6: Hoare triple {1048#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {1048#true} is VALID [2022-04-15 13:45:48,701 INFO L290 TraceCheckUtils]: 7: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-15 13:45:48,701 INFO L290 TraceCheckUtils]: 8: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-15 13:45:48,701 INFO L290 TraceCheckUtils]: 9: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-15 13:45:48,701 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1048#true} {1048#true} #61#return; {1048#true} is VALID [2022-04-15 13:45:48,701 INFO L290 TraceCheckUtils]: 11: Hoare triple {1048#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1048#true} is VALID [2022-04-15 13:45:48,701 INFO L272 TraceCheckUtils]: 12: Hoare triple {1048#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {1048#true} is VALID [2022-04-15 13:45:48,701 INFO L290 TraceCheckUtils]: 13: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-15 13:45:48,701 INFO L290 TraceCheckUtils]: 14: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-15 13:45:48,701 INFO L290 TraceCheckUtils]: 15: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-15 13:45:48,702 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1048#true} {1048#true} #63#return; {1048#true} is VALID [2022-04-15 13:45:48,702 INFO L290 TraceCheckUtils]: 17: Hoare triple {1048#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:45:48,703 INFO L290 TraceCheckUtils]: 18: Hoare triple {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:45:48,703 INFO L272 TraceCheckUtils]: 19: Hoare triple {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1048#true} is VALID [2022-04-15 13:45:48,703 INFO L290 TraceCheckUtils]: 20: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-15 13:45:48,703 INFO L290 TraceCheckUtils]: 21: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-15 13:45:48,703 INFO L290 TraceCheckUtils]: 22: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-15 13:45:48,704 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1048#true} {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:45:48,705 INFO L290 TraceCheckUtils]: 24: Hoare triple {1104#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1126#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:45:48,706 INFO L290 TraceCheckUtils]: 25: Hoare triple {1126#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1130#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 13:45:48,707 INFO L290 TraceCheckUtils]: 26: Hoare triple {1130#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1134#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 13:45:48,707 INFO L290 TraceCheckUtils]: 27: Hoare triple {1134#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1138#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~0) (<= 0 main_~X~0) (= main_~Y~0 main_~yx~0))} is VALID [2022-04-15 13:45:48,708 INFO L272 TraceCheckUtils]: 28: Hoare triple {1138#(and (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= main_~X~0 main_~xy~0) (<= 0 main_~X~0) (= main_~Y~0 main_~yx~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:45:48,709 INFO L290 TraceCheckUtils]: 29: Hoare triple {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1146#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:45:48,709 INFO L290 TraceCheckUtils]: 30: Hoare triple {1146#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1049#false} is VALID [2022-04-15 13:45:48,710 INFO L290 TraceCheckUtils]: 31: Hoare triple {1049#false} assume !false; {1049#false} is VALID [2022-04-15 13:45:48,710 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-15 13:45:48,710 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:45:48,989 INFO L290 TraceCheckUtils]: 31: Hoare triple {1049#false} assume !false; {1049#false} is VALID [2022-04-15 13:45:48,990 INFO L290 TraceCheckUtils]: 30: Hoare triple {1146#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1049#false} is VALID [2022-04-15 13:45:48,990 INFO L290 TraceCheckUtils]: 29: Hoare triple {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1146#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:45:48,991 INFO L272 TraceCheckUtils]: 28: Hoare triple {1162#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1142#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:45:48,992 INFO L290 TraceCheckUtils]: 27: Hoare triple {1166#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1162#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 13:45:49,105 INFO L290 TraceCheckUtils]: 26: Hoare triple {1170#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1166#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:45:49,107 INFO L290 TraceCheckUtils]: 25: Hoare triple {1166#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1170#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 13:45:49,108 INFO L290 TraceCheckUtils]: 24: Hoare triple {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {1166#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:45:49,109 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1048#true} {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} #65#return; {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 13:45:49,109 INFO L290 TraceCheckUtils]: 22: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-15 13:45:49,109 INFO L290 TraceCheckUtils]: 21: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-15 13:45:49,109 INFO L290 TraceCheckUtils]: 20: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-15 13:45:49,109 INFO L272 TraceCheckUtils]: 19: Hoare triple {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1048#true} is VALID [2022-04-15 13:45:49,110 INFO L290 TraceCheckUtils]: 18: Hoare triple {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 13:45:49,110 INFO L290 TraceCheckUtils]: 17: Hoare triple {1048#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1177#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 13:45:49,110 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1048#true} {1048#true} #63#return; {1048#true} is VALID [2022-04-15 13:45:49,110 INFO L290 TraceCheckUtils]: 15: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-15 13:45:49,111 INFO L290 TraceCheckUtils]: 14: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-15 13:45:49,111 INFO L290 TraceCheckUtils]: 13: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-15 13:45:49,111 INFO L272 TraceCheckUtils]: 12: Hoare triple {1048#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {1048#true} is VALID [2022-04-15 13:45:49,111 INFO L290 TraceCheckUtils]: 11: Hoare triple {1048#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1048#true} is VALID [2022-04-15 13:45:49,111 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1048#true} {1048#true} #61#return; {1048#true} is VALID [2022-04-15 13:45:49,111 INFO L290 TraceCheckUtils]: 9: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-15 13:45:49,111 INFO L290 TraceCheckUtils]: 8: Hoare triple {1048#true} assume !(0 == ~cond); {1048#true} is VALID [2022-04-15 13:45:49,111 INFO L290 TraceCheckUtils]: 7: Hoare triple {1048#true} ~cond := #in~cond; {1048#true} is VALID [2022-04-15 13:45:49,111 INFO L272 TraceCheckUtils]: 6: Hoare triple {1048#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {1048#true} is VALID [2022-04-15 13:45:49,111 INFO L290 TraceCheckUtils]: 5: Hoare triple {1048#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1048#true} is VALID [2022-04-15 13:45:49,112 INFO L272 TraceCheckUtils]: 4: Hoare triple {1048#true} call #t~ret8 := main(); {1048#true} is VALID [2022-04-15 13:45:49,112 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1048#true} {1048#true} #69#return; {1048#true} is VALID [2022-04-15 13:45:49,112 INFO L290 TraceCheckUtils]: 2: Hoare triple {1048#true} assume true; {1048#true} is VALID [2022-04-15 13:45:49,112 INFO L290 TraceCheckUtils]: 1: Hoare triple {1048#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(15, 2);call #Ultimate.allocInit(12, 3); {1048#true} is VALID [2022-04-15 13:45:49,112 INFO L272 TraceCheckUtils]: 0: Hoare triple {1048#true} call ULTIMATE.init(); {1048#true} is VALID [2022-04-15 13:45:49,112 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-15 13:45:49,112 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:45:49,112 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1147589507] [2022-04-15 13:45:49,112 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:45:49,113 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [54327500] [2022-04-15 13:45:49,113 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [54327500] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:45:49,113 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:45:49,113 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 13 [2022-04-15 13:45:49,113 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:45:49,113 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [361463192] [2022-04-15 13:45:49,113 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [361463192] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:45:49,113 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:45:49,113 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 13:45:49,113 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [442480367] [2022-04-15 13:45:49,113 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:45:49,114 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-15 13:45:49,114 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:45:49,114 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 13:45:49,143 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:45:49,144 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 13:45:49,145 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:45:49,146 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 13:45:49,146 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-15 13:45:49,146 INFO L87 Difference]: Start difference. First operand 43 states and 47 transitions. Second operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 13:45:49,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:45:49,566 INFO L93 Difference]: Finished difference Result 56 states and 62 transitions. [2022-04-15 13:45:49,566 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 13:45:49,566 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 32 [2022-04-15 13:45:49,567 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:45:49,567 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 13:45:49,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-15 13:45:49,568 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 13:45:49,570 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-15 13:45:49,570 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 51 transitions. [2022-04-15 13:45:49,610 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:45:49,612 INFO L225 Difference]: With dead ends: 56 [2022-04-15 13:45:49,612 INFO L226 Difference]: Without dead ends: 54 [2022-04-15 13:45:49,612 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 50 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-15 13:45:49,613 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 11 mSDsluCounter, 111 mSDsCounter, 0 mSdLazyCounter, 136 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 139 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 136 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 13:45:49,613 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 138 Invalid, 139 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 136 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 13:45:49,614 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-15 13:45:49,655 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 50. [2022-04-15 13:45:49,655 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:45:49,656 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 13:45:49,656 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 13:45:49,657 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 13:45:49,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:45:49,660 INFO L93 Difference]: Finished difference Result 54 states and 60 transitions. [2022-04-15 13:45:49,660 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 60 transitions. [2022-04-15 13:45:49,661 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:45:49,662 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:45:49,662 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 54 states. [2022-04-15 13:45:49,662 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 54 states. [2022-04-15 13:45:49,671 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:45:49,672 INFO L93 Difference]: Finished difference Result 54 states and 60 transitions. [2022-04-15 13:45:49,672 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 60 transitions. [2022-04-15 13:45:49,676 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:45:49,676 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:45:49,676 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:45:49,676 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:45:49,676 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 36 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 13:45:49,680 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 54 transitions. [2022-04-15 13:45:49,680 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 54 transitions. Word has length 32 [2022-04-15 13:45:49,681 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:45:49,681 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 54 transitions. [2022-04-15 13:45:49,681 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.375) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 13:45:49,681 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 54 transitions. [2022-04-15 13:45:49,739 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:45:49,740 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-15 13:45:49,741 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-15 13:45:49,742 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:45:49,742 INFO L499 BasicCegarLoop]: trace histogram [3, 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] [2022-04-15 13:45:49,763 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-15 13:45:49,955 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:45:49,956 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:45:49,956 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:45:49,956 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 1 times [2022-04-15 13:45:49,956 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:45:49,956 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [429509735] [2022-04-15 13:45:49,956 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:45:49,957 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 2 times [2022-04-15 13:45:49,957 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:45:49,957 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [436251067] [2022-04-15 13:45:49,957 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:45:49,957 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:45:49,975 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:45:49,975 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1680838702] [2022-04-15 13:45:49,975 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 13:45:49,975 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:45:49,975 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:45:49,980 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:45:49,981 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-15 13:45:50,019 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 13:45:50,019 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:45:50,020 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-15 13:45:50,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:45:50,033 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:46:03,714 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:46:11,886 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:46:15,924 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:46:21,242 INFO L272 TraceCheckUtils]: 0: Hoare triple {1576#true} call ULTIMATE.init(); {1576#true} is VALID [2022-04-15 13:46:21,242 INFO L290 TraceCheckUtils]: 1: Hoare triple {1576#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(15, 2);call #Ultimate.allocInit(12, 3); {1576#true} is VALID [2022-04-15 13:46:21,242 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-15 13:46:21,242 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1576#true} {1576#true} #69#return; {1576#true} is VALID [2022-04-15 13:46:21,242 INFO L272 TraceCheckUtils]: 4: Hoare triple {1576#true} call #t~ret8 := main(); {1576#true} is VALID [2022-04-15 13:46:21,242 INFO L290 TraceCheckUtils]: 5: Hoare triple {1576#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1576#true} is VALID [2022-04-15 13:46:21,242 INFO L272 TraceCheckUtils]: 6: Hoare triple {1576#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {1576#true} is VALID [2022-04-15 13:46:21,242 INFO L290 TraceCheckUtils]: 7: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-15 13:46:21,243 INFO L290 TraceCheckUtils]: 8: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-15 13:46:21,243 INFO L290 TraceCheckUtils]: 9: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-15 13:46:21,243 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1576#true} {1576#true} #61#return; {1576#true} is VALID [2022-04-15 13:46:21,243 INFO L290 TraceCheckUtils]: 11: Hoare triple {1576#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1576#true} is VALID [2022-04-15 13:46:21,243 INFO L272 TraceCheckUtils]: 12: Hoare triple {1576#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {1576#true} is VALID [2022-04-15 13:46:21,243 INFO L290 TraceCheckUtils]: 13: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-15 13:46:21,243 INFO L290 TraceCheckUtils]: 14: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-15 13:46:21,243 INFO L290 TraceCheckUtils]: 15: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-15 13:46:21,243 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1576#true} {1576#true} #63#return; {1576#true} is VALID [2022-04-15 13:46:21,244 INFO L290 TraceCheckUtils]: 17: Hoare triple {1576#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1632#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 13:46:21,244 INFO L290 TraceCheckUtils]: 18: Hoare triple {1632#(and (= main_~x~0 0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1632#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 13:46:21,245 INFO L272 TraceCheckUtils]: 19: Hoare triple {1632#(and (= main_~x~0 0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1576#true} is VALID [2022-04-15 13:46:21,245 INFO L290 TraceCheckUtils]: 20: Hoare triple {1576#true} ~cond := #in~cond; {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:46:21,245 INFO L290 TraceCheckUtils]: 21: Hoare triple {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:46:21,245 INFO L290 TraceCheckUtils]: 22: Hoare triple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:46:21,246 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} {1632#(and (= main_~x~0 0) (= main_~y~0 0))} #65#return; {1632#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 13:46:21,247 INFO L290 TraceCheckUtils]: 24: Hoare triple {1632#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1656#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 13:46:21,247 INFO L290 TraceCheckUtils]: 25: Hoare triple {1656#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1660#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-15 13:46:21,248 INFO L290 TraceCheckUtils]: 26: Hoare triple {1660#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1664#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0))} is VALID [2022-04-15 13:46:21,248 INFO L290 TraceCheckUtils]: 27: Hoare triple {1664#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1668#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 13:46:21,248 INFO L272 TraceCheckUtils]: 28: Hoare triple {1668#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1576#true} is VALID [2022-04-15 13:46:21,248 INFO L290 TraceCheckUtils]: 29: Hoare triple {1576#true} ~cond := #in~cond; {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:46:21,249 INFO L290 TraceCheckUtils]: 30: Hoare triple {1642#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:46:21,249 INFO L290 TraceCheckUtils]: 31: Hoare triple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:46:21,251 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} {1668#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {1684#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0))} is VALID [2022-04-15 13:46:21,252 INFO L290 TraceCheckUtils]: 33: Hoare triple {1684#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0))} assume !(~x~0 <= ~X~0); {1688#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 13:46:21,259 INFO L290 TraceCheckUtils]: 34: Hoare triple {1688#(and (= (+ (- 1) main_~y~0) 0) (<= main_~x~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1692#(and (= (+ (- 1) main_~y~0) 0) (<= 0 main_~X~0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (<= (div main_~xy~0 main_~y~0) 1) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 1) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} is VALID [2022-04-15 13:46:21,261 INFO L272 TraceCheckUtils]: 35: Hoare triple {1692#(and (= (+ (- 1) main_~y~0) 0) (<= 0 main_~X~0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (< main_~X~0 (div main_~xy~0 main_~y~0)) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (<= (div main_~xy~0 main_~y~0) 1) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 1) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:46:21,262 INFO L290 TraceCheckUtils]: 36: Hoare triple {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1700#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:46:21,263 INFO L290 TraceCheckUtils]: 37: Hoare triple {1700#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1577#false} is VALID [2022-04-15 13:46:21,263 INFO L290 TraceCheckUtils]: 38: Hoare triple {1577#false} assume !false; {1577#false} is VALID [2022-04-15 13:46:21,263 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-15 13:46:21,263 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:46:38,679 INFO L290 TraceCheckUtils]: 38: Hoare triple {1577#false} assume !false; {1577#false} is VALID [2022-04-15 13:46:38,679 INFO L290 TraceCheckUtils]: 37: Hoare triple {1700#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1577#false} is VALID [2022-04-15 13:46:38,680 INFO L290 TraceCheckUtils]: 36: Hoare triple {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1700#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:46:38,681 INFO L272 TraceCheckUtils]: 35: Hoare triple {1716#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1696#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:46:38,682 INFO L290 TraceCheckUtils]: 34: Hoare triple {1720#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1716#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:46:38,683 INFO L290 TraceCheckUtils]: 33: Hoare triple {1724#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {1720#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-15 13:46:38,688 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} {1728#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {1724#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 13:46:38,689 INFO L290 TraceCheckUtils]: 31: Hoare triple {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:46:38,689 INFO L290 TraceCheckUtils]: 30: Hoare triple {1738#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1646#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:46:38,690 INFO L290 TraceCheckUtils]: 29: Hoare triple {1576#true} ~cond := #in~cond; {1738#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 13:46:38,690 INFO L272 TraceCheckUtils]: 28: Hoare triple {1728#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1576#true} is VALID [2022-04-15 13:46:38,691 INFO L290 TraceCheckUtils]: 27: Hoare triple {1745#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1728#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 13:46:38,692 INFO L290 TraceCheckUtils]: 26: Hoare triple {1749#(forall ((v_main_~x~0_16 Int)) (or (<= v_main_~x~0_16 main_~X~0) (not (<= v_main_~x~0_16 (+ main_~x~0 1))) (= (+ (* (* v_main_~x~0_16 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_16 main_~y~0)) (* (* v_main_~x~0_16 main_~Y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2))))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1745#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 13:46:38,695 INFO L290 TraceCheckUtils]: 25: Hoare triple {1753#(forall ((v_main_~x~0_16 Int)) (or (<= v_main_~x~0_16 main_~X~0) (not (<= v_main_~x~0_16 (+ main_~x~0 1))) (= (+ (* (* v_main_~x~0_16 main_~Y~0) 2) (* (* v_main_~x~0_16 (+ main_~y~0 1)) 2) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ (* (* v_main_~x~0_16 main_~Y~0) 2) 2 (* main_~y~0 2) (* main_~Y~0 2)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {1749#(forall ((v_main_~x~0_16 Int)) (or (<= v_main_~x~0_16 main_~X~0) (not (<= v_main_~x~0_16 (+ main_~x~0 1))) (= (+ (* (* v_main_~x~0_16 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* 2 (* v_main_~x~0_16 main_~y~0)) (* (* v_main_~x~0_16 main_~Y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2))))))} is VALID [2022-04-15 13:46:38,697 INFO L290 TraceCheckUtils]: 24: Hoare triple {1576#true} assume !!(~x~0 <= ~X~0); {1753#(forall ((v_main_~x~0_16 Int)) (or (<= v_main_~x~0_16 main_~X~0) (not (<= v_main_~x~0_16 (+ main_~x~0 1))) (= (+ (* (* v_main_~x~0_16 main_~Y~0) 2) (* (* v_main_~x~0_16 (+ main_~y~0 1)) 2) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ (* (* v_main_~x~0_16 main_~Y~0) 2) 2 (* main_~y~0 2) (* main_~Y~0 2)))))} is VALID [2022-04-15 13:46:38,702 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1576#true} {1576#true} #65#return; {1576#true} is VALID [2022-04-15 13:46:38,703 INFO L290 TraceCheckUtils]: 22: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-15 13:46:38,703 INFO L290 TraceCheckUtils]: 21: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-15 13:46:38,704 INFO L290 TraceCheckUtils]: 20: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-15 13:46:38,707 INFO L272 TraceCheckUtils]: 19: Hoare triple {1576#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1576#true} is VALID [2022-04-15 13:46:38,708 INFO L290 TraceCheckUtils]: 18: Hoare triple {1576#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1576#true} is VALID [2022-04-15 13:46:38,708 INFO L290 TraceCheckUtils]: 17: Hoare triple {1576#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1576#true} is VALID [2022-04-15 13:46:38,709 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1576#true} {1576#true} #63#return; {1576#true} is VALID [2022-04-15 13:46:38,709 INFO L290 TraceCheckUtils]: 15: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-15 13:46:38,710 INFO L290 TraceCheckUtils]: 14: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-15 13:46:38,710 INFO L290 TraceCheckUtils]: 13: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-15 13:46:38,710 INFO L272 TraceCheckUtils]: 12: Hoare triple {1576#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {1576#true} is VALID [2022-04-15 13:46:38,710 INFO L290 TraceCheckUtils]: 11: Hoare triple {1576#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1576#true} is VALID [2022-04-15 13:46:38,710 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1576#true} {1576#true} #61#return; {1576#true} is VALID [2022-04-15 13:46:38,710 INFO L290 TraceCheckUtils]: 9: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-15 13:46:38,710 INFO L290 TraceCheckUtils]: 8: Hoare triple {1576#true} assume !(0 == ~cond); {1576#true} is VALID [2022-04-15 13:46:38,710 INFO L290 TraceCheckUtils]: 7: Hoare triple {1576#true} ~cond := #in~cond; {1576#true} is VALID [2022-04-15 13:46:38,710 INFO L272 TraceCheckUtils]: 6: Hoare triple {1576#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {1576#true} is VALID [2022-04-15 13:46:38,710 INFO L290 TraceCheckUtils]: 5: Hoare triple {1576#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {1576#true} is VALID [2022-04-15 13:46:38,710 INFO L272 TraceCheckUtils]: 4: Hoare triple {1576#true} call #t~ret8 := main(); {1576#true} is VALID [2022-04-15 13:46:38,710 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1576#true} {1576#true} #69#return; {1576#true} is VALID [2022-04-15 13:46:38,711 INFO L290 TraceCheckUtils]: 2: Hoare triple {1576#true} assume true; {1576#true} is VALID [2022-04-15 13:46:38,711 INFO L290 TraceCheckUtils]: 1: Hoare triple {1576#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(15, 2);call #Ultimate.allocInit(12, 3); {1576#true} is VALID [2022-04-15 13:46:38,711 INFO L272 TraceCheckUtils]: 0: Hoare triple {1576#true} call ULTIMATE.init(); {1576#true} is VALID [2022-04-15 13:46:38,711 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-15 13:46:38,711 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:46:38,711 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [436251067] [2022-04-15 13:46:38,711 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:46:38,711 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1680838702] [2022-04-15 13:46:38,711 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1680838702] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:46:38,711 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:46:38,711 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-15 13:46:38,712 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:46:38,712 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [429509735] [2022-04-15 13:46:38,712 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [429509735] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:46:38,712 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:46:38,712 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 13:46:38,712 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [835436532] [2022-04-15 13:46:38,712 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:46:38,712 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 39 [2022-04-15 13:46:38,713 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:46:38,713 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:46:38,752 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:46:38,752 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 13:46:38,752 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:46:38,753 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 13:46:38,753 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=388, Unknown=0, NotChecked=0, Total=462 [2022-04-15 13:46:38,753 INFO L87 Difference]: Start difference. First operand 50 states and 54 transitions. Second operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:46:41,300 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:46:45,585 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:46:45,911 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:46:45,911 INFO L93 Difference]: Finished difference Result 61 states and 66 transitions. [2022-04-15 13:46:45,911 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 13:46:45,911 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 39 [2022-04-15 13:46:45,912 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:46:45,912 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:46:45,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 53 transitions. [2022-04-15 13:46:45,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:46:45,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 53 transitions. [2022-04-15 13:46:45,923 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 53 transitions. [2022-04-15 13:46:45,974 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:46:45,975 INFO L225 Difference]: With dead ends: 61 [2022-04-15 13:46:45,976 INFO L226 Difference]: Without dead ends: 53 [2022-04-15 13:46:45,976 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 56 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 130 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=116, Invalid=586, Unknown=0, NotChecked=0, Total=702 [2022-04-15 13:46:45,977 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 16 mSDsluCounter, 196 mSDsCounter, 0 mSdLazyCounter, 293 mSolverCounterSat, 4 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 219 SdHoareTripleChecker+Invalid, 299 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 293 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.3s IncrementalHoareTripleChecker+Time [2022-04-15 13:46:45,977 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 219 Invalid, 299 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 293 Invalid, 2 Unknown, 0 Unchecked, 4.3s Time] [2022-04-15 13:46:45,977 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-15 13:46:46,025 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 43. [2022-04-15 13:46:46,025 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:46:46,025 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 13:46:46,025 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 13:46:46,026 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 13:46:46,027 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:46:46,027 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-15 13:46:46,027 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-15 13:46:46,027 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:46:46,027 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:46:46,028 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 53 states. [2022-04-15 13:46:46,028 INFO L87 Difference]: Start difference. First operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 53 states. [2022-04-15 13:46:46,029 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:46:46,029 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-15 13:46:46,029 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-15 13:46:46,030 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:46:46,030 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:46:46,030 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:46:46,030 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:46:46,030 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 13:46:46,031 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 47 transitions. [2022-04-15 13:46:46,031 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 47 transitions. Word has length 39 [2022-04-15 13:46:46,031 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:46:46,032 INFO L478 AbstractCegarLoop]: Abstraction has 43 states and 47 transitions. [2022-04-15 13:46:46,032 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:46:46,032 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 47 transitions. [2022-04-15 13:46:46,094 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:46:46,094 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2022-04-15 13:46:46,094 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-15 13:46:46,094 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:46:46,095 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 13:46:46,115 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-15 13:46:46,307 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:46:46,307 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:46:46,308 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:46:46,308 INFO L85 PathProgramCache]: Analyzing trace with hash 733948825, now seen corresponding path program 3 times [2022-04-15 13:46:46,308 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:46:46,308 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [705380426] [2022-04-15 13:46:46,308 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:46:46,308 INFO L85 PathProgramCache]: Analyzing trace with hash 733948825, now seen corresponding path program 4 times [2022-04-15 13:46:46,309 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:46:46,309 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1254666733] [2022-04-15 13:46:46,309 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:46:46,309 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:46:46,329 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:46:46,329 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1687255176] [2022-04-15 13:46:46,329 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 13:46:46,329 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:46:46,329 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:46:46,332 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:46:46,333 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-15 13:46:46,369 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 13:46:46,369 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:46:46,370 INFO L263 TraceCheckSpWp]: Trace formula consists of 83 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-15 13:46:46,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:46:46,382 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:47:01,845 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:47:05,163 INFO L272 TraceCheckUtils]: 0: Hoare triple {2155#true} call ULTIMATE.init(); {2155#true} is VALID [2022-04-15 13:47:05,163 INFO L290 TraceCheckUtils]: 1: Hoare triple {2155#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(15, 2);call #Ultimate.allocInit(12, 3); {2155#true} is VALID [2022-04-15 13:47:05,163 INFO L290 TraceCheckUtils]: 2: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-15 13:47:05,163 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2155#true} {2155#true} #69#return; {2155#true} is VALID [2022-04-15 13:47:05,163 INFO L272 TraceCheckUtils]: 4: Hoare triple {2155#true} call #t~ret8 := main(); {2155#true} is VALID [2022-04-15 13:47:05,163 INFO L290 TraceCheckUtils]: 5: Hoare triple {2155#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {2155#true} is VALID [2022-04-15 13:47:05,163 INFO L272 TraceCheckUtils]: 6: Hoare triple {2155#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {2155#true} is VALID [2022-04-15 13:47:05,163 INFO L290 TraceCheckUtils]: 7: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-15 13:47:05,163 INFO L290 TraceCheckUtils]: 8: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-15 13:47:05,163 INFO L290 TraceCheckUtils]: 9: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-15 13:47:05,164 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2155#true} {2155#true} #61#return; {2155#true} is VALID [2022-04-15 13:47:05,164 INFO L290 TraceCheckUtils]: 11: Hoare triple {2155#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2155#true} is VALID [2022-04-15 13:47:05,164 INFO L272 TraceCheckUtils]: 12: Hoare triple {2155#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {2155#true} is VALID [2022-04-15 13:47:05,164 INFO L290 TraceCheckUtils]: 13: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-15 13:47:05,164 INFO L290 TraceCheckUtils]: 14: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-15 13:47:05,164 INFO L290 TraceCheckUtils]: 15: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-15 13:47:05,164 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2155#true} {2155#true} #63#return; {2155#true} is VALID [2022-04-15 13:47:05,165 INFO L290 TraceCheckUtils]: 17: Hoare triple {2155#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 13:47:05,165 INFO L290 TraceCheckUtils]: 18: Hoare triple {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 13:47:05,165 INFO L272 TraceCheckUtils]: 19: Hoare triple {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2155#true} is VALID [2022-04-15 13:47:05,165 INFO L290 TraceCheckUtils]: 20: Hoare triple {2155#true} ~cond := #in~cond; {2221#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:47:05,166 INFO L290 TraceCheckUtils]: 21: Hoare triple {2221#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:47:05,166 INFO L290 TraceCheckUtils]: 22: Hoare triple {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:47:05,167 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 13:47:05,167 INFO L290 TraceCheckUtils]: 24: Hoare triple {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 13:47:05,168 INFO L290 TraceCheckUtils]: 25: Hoare triple {2211#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2238#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-15 13:47:05,168 INFO L290 TraceCheckUtils]: 26: Hoare triple {2238#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2238#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-15 13:47:05,169 INFO L290 TraceCheckUtils]: 27: Hoare triple {2238#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2245#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 13:47:05,169 INFO L272 TraceCheckUtils]: 28: Hoare triple {2245#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2155#true} is VALID [2022-04-15 13:47:05,169 INFO L290 TraceCheckUtils]: 29: Hoare triple {2155#true} ~cond := #in~cond; {2221#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:47:05,170 INFO L290 TraceCheckUtils]: 30: Hoare triple {2221#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:47:05,170 INFO L290 TraceCheckUtils]: 31: Hoare triple {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:47:05,171 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} {2245#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {2261#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-15 13:47:05,172 INFO L290 TraceCheckUtils]: 33: Hoare triple {2261#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2261#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-15 13:47:05,173 INFO L290 TraceCheckUtils]: 34: Hoare triple {2261#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2268#(and (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 13:47:05,175 INFO L290 TraceCheckUtils]: 35: Hoare triple {2268#(and (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2272#(and (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-15 13:47:05,183 INFO L290 TraceCheckUtils]: 36: Hoare triple {2272#(and (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2276#(and (= main_~xy~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (= main_~yx~0 (* (div (+ (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0)))} is VALID [2022-04-15 13:47:05,187 INFO L272 TraceCheckUtils]: 37: Hoare triple {2276#(and (= main_~xy~0 0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 6)) (= main_~yx~0 (* (div (+ (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2280#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:47:05,187 INFO L290 TraceCheckUtils]: 38: Hoare triple {2280#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2284#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:47:05,188 INFO L290 TraceCheckUtils]: 39: Hoare triple {2284#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2156#false} is VALID [2022-04-15 13:47:05,188 INFO L290 TraceCheckUtils]: 40: Hoare triple {2156#false} assume !false; {2156#false} is VALID [2022-04-15 13:47:05,188 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 2 proven. 11 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-15 13:47:05,188 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:47:07,862 INFO L290 TraceCheckUtils]: 40: Hoare triple {2156#false} assume !false; {2156#false} is VALID [2022-04-15 13:47:07,863 INFO L290 TraceCheckUtils]: 39: Hoare triple {2284#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2156#false} is VALID [2022-04-15 13:47:07,863 INFO L290 TraceCheckUtils]: 38: Hoare triple {2280#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2284#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:47:07,864 INFO L272 TraceCheckUtils]: 37: Hoare triple {2300#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2280#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:47:07,865 INFO L290 TraceCheckUtils]: 36: Hoare triple {2304#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2300#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 13:47:07,866 INFO L290 TraceCheckUtils]: 35: Hoare triple {2308#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2304#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:47:07,867 INFO L290 TraceCheckUtils]: 34: Hoare triple {2304#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2308#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 13:47:07,868 INFO L290 TraceCheckUtils]: 33: Hoare triple {2304#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {2304#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:47:07,869 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} {2318#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {2304#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:47:07,869 INFO L290 TraceCheckUtils]: 31: Hoare triple {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:47:07,869 INFO L290 TraceCheckUtils]: 30: Hoare triple {2328#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2225#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:47:07,870 INFO L290 TraceCheckUtils]: 29: Hoare triple {2155#true} ~cond := #in~cond; {2328#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 13:47:07,870 INFO L272 TraceCheckUtils]: 28: Hoare triple {2318#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2155#true} is VALID [2022-04-15 13:47:07,871 INFO L290 TraceCheckUtils]: 27: Hoare triple {2155#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2318#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-15 13:47:07,871 INFO L290 TraceCheckUtils]: 26: Hoare triple {2155#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2155#true} is VALID [2022-04-15 13:47:07,871 INFO L290 TraceCheckUtils]: 25: Hoare triple {2155#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2155#true} is VALID [2022-04-15 13:47:07,871 INFO L290 TraceCheckUtils]: 24: Hoare triple {2155#true} assume !!(~x~0 <= ~X~0); {2155#true} is VALID [2022-04-15 13:47:07,871 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2155#true} {2155#true} #65#return; {2155#true} is VALID [2022-04-15 13:47:07,871 INFO L290 TraceCheckUtils]: 22: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-15 13:47:07,871 INFO L290 TraceCheckUtils]: 21: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-15 13:47:07,871 INFO L290 TraceCheckUtils]: 20: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-15 13:47:07,871 INFO L272 TraceCheckUtils]: 19: Hoare triple {2155#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2155#true} is VALID [2022-04-15 13:47:07,871 INFO L290 TraceCheckUtils]: 18: Hoare triple {2155#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2155#true} is VALID [2022-04-15 13:47:07,871 INFO L290 TraceCheckUtils]: 17: Hoare triple {2155#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2155#true} is VALID [2022-04-15 13:47:07,871 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2155#true} {2155#true} #63#return; {2155#true} is VALID [2022-04-15 13:47:07,871 INFO L290 TraceCheckUtils]: 15: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-15 13:47:07,871 INFO L290 TraceCheckUtils]: 14: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-15 13:47:07,872 INFO L290 TraceCheckUtils]: 13: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-15 13:47:07,872 INFO L272 TraceCheckUtils]: 12: Hoare triple {2155#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {2155#true} is VALID [2022-04-15 13:47:07,872 INFO L290 TraceCheckUtils]: 11: Hoare triple {2155#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2155#true} is VALID [2022-04-15 13:47:07,872 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2155#true} {2155#true} #61#return; {2155#true} is VALID [2022-04-15 13:47:07,872 INFO L290 TraceCheckUtils]: 9: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-15 13:47:07,872 INFO L290 TraceCheckUtils]: 8: Hoare triple {2155#true} assume !(0 == ~cond); {2155#true} is VALID [2022-04-15 13:47:07,872 INFO L290 TraceCheckUtils]: 7: Hoare triple {2155#true} ~cond := #in~cond; {2155#true} is VALID [2022-04-15 13:47:07,872 INFO L272 TraceCheckUtils]: 6: Hoare triple {2155#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {2155#true} is VALID [2022-04-15 13:47:07,872 INFO L290 TraceCheckUtils]: 5: Hoare triple {2155#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {2155#true} is VALID [2022-04-15 13:47:07,872 INFO L272 TraceCheckUtils]: 4: Hoare triple {2155#true} call #t~ret8 := main(); {2155#true} is VALID [2022-04-15 13:47:07,872 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2155#true} {2155#true} #69#return; {2155#true} is VALID [2022-04-15 13:47:07,872 INFO L290 TraceCheckUtils]: 2: Hoare triple {2155#true} assume true; {2155#true} is VALID [2022-04-15 13:47:07,872 INFO L290 TraceCheckUtils]: 1: Hoare triple {2155#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(15, 2);call #Ultimate.allocInit(12, 3); {2155#true} is VALID [2022-04-15 13:47:07,872 INFO L272 TraceCheckUtils]: 0: Hoare triple {2155#true} call ULTIMATE.init(); {2155#true} is VALID [2022-04-15 13:47:07,873 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 13:47:07,873 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:47:07,873 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1254666733] [2022-04-15 13:47:07,873 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:47:07,873 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1687255176] [2022-04-15 13:47:07,873 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1687255176] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:47:07,873 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:47:07,873 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-15 13:47:07,873 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:47:07,873 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [705380426] [2022-04-15 13:47:07,873 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [705380426] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:47:07,874 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:47:07,874 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 13:47:07,874 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [615195429] [2022-04-15 13:47:07,874 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:47:07,874 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-15 13:47:07,874 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:47:07,874 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:47:07,922 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:47:07,922 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 13:47:07,922 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:47:07,922 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 13:47:07,922 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=259, Unknown=0, NotChecked=0, Total=306 [2022-04-15 13:47:07,923 INFO L87 Difference]: Start difference. First operand 43 states and 47 transitions. Second operand has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:47:09,041 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:47:09,042 INFO L93 Difference]: Finished difference Result 61 states and 69 transitions. [2022-04-15 13:47:09,042 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 13:47:09,042 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-15 13:47:09,042 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:47:09,042 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:47:09,043 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-15 13:47:09,044 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:47:09,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-15 13:47:09,045 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 58 transitions. [2022-04-15 13:47:09,112 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:47:09,113 INFO L225 Difference]: With dead ends: 61 [2022-04-15 13:47:09,113 INFO L226 Difference]: Without dead ends: 57 [2022-04-15 13:47:09,113 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 63 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 57 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=75, Invalid=387, Unknown=0, NotChecked=0, Total=462 [2022-04-15 13:47:09,114 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 18 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 248 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 149 SdHoareTripleChecker+Invalid, 256 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 248 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 13:47:09,114 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 149 Invalid, 256 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 248 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 13:47:09,114 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-15 13:47:09,169 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 55. [2022-04-15 13:47:09,169 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:47:09,170 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 13:47:09,170 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 13:47:09,170 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 13:47:09,171 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:47:09,172 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2022-04-15 13:47:09,172 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 64 transitions. [2022-04-15 13:47:09,172 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:47:09,172 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:47:09,172 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 57 states. [2022-04-15 13:47:09,172 INFO L87 Difference]: Start difference. First operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 57 states. [2022-04-15 13:47:09,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:47:09,174 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2022-04-15 13:47:09,174 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 64 transitions. [2022-04-15 13:47:09,174 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:47:09,174 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:47:09,174 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:47:09,174 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:47:09,175 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 38 states have (on average 1.131578947368421) internal successors, (43), 40 states have internal predecessors, (43), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 13:47:09,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 61 transitions. [2022-04-15 13:47:09,176 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 61 transitions. Word has length 41 [2022-04-15 13:47:09,176 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:47:09,177 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 61 transitions. [2022-04-15 13:47:09,177 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.090909090909091) internal successors, (23), 12 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:47:09,177 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 61 transitions. [2022-04-15 13:47:09,269 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:47:09,269 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 61 transitions. [2022-04-15 13:47:09,270 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-15 13:47:09,270 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:47:09,270 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 13:47:09,288 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-15 13:47:09,471 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:47:09,473 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:47:09,474 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:47:09,474 INFO L85 PathProgramCache]: Analyzing trace with hash -1786011109, now seen corresponding path program 1 times [2022-04-15 13:47:09,474 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:47:09,474 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1951883769] [2022-04-15 13:47:09,474 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:47:09,474 INFO L85 PathProgramCache]: Analyzing trace with hash -1786011109, now seen corresponding path program 2 times [2022-04-15 13:47:09,474 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:47:09,474 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1736516187] [2022-04-15 13:47:09,474 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:47:09,475 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:47:09,505 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:47:09,505 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [65855162] [2022-04-15 13:47:09,506 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 13:47:09,506 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:47:09,506 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:47:09,510 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:47:09,511 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-15 13:47:09,556 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 13:47:09,556 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:47:09,557 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-15 13:47:09,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:47:09,567 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:47:09,910 INFO L272 TraceCheckUtils]: 0: Hoare triple {2772#true} call ULTIMATE.init(); {2772#true} is VALID [2022-04-15 13:47:09,910 INFO L290 TraceCheckUtils]: 1: Hoare triple {2772#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(15, 2);call #Ultimate.allocInit(12, 3); {2772#true} is VALID [2022-04-15 13:47:09,910 INFO L290 TraceCheckUtils]: 2: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-15 13:47:09,910 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2772#true} {2772#true} #69#return; {2772#true} is VALID [2022-04-15 13:47:09,910 INFO L272 TraceCheckUtils]: 4: Hoare triple {2772#true} call #t~ret8 := main(); {2772#true} is VALID [2022-04-15 13:47:09,910 INFO L290 TraceCheckUtils]: 5: Hoare triple {2772#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {2772#true} is VALID [2022-04-15 13:47:09,910 INFO L272 TraceCheckUtils]: 6: Hoare triple {2772#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {2772#true} is VALID [2022-04-15 13:47:09,911 INFO L290 TraceCheckUtils]: 7: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-15 13:47:09,911 INFO L290 TraceCheckUtils]: 8: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-15 13:47:09,911 INFO L290 TraceCheckUtils]: 9: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-15 13:47:09,911 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2772#true} {2772#true} #61#return; {2772#true} is VALID [2022-04-15 13:47:09,911 INFO L290 TraceCheckUtils]: 11: Hoare triple {2772#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2772#true} is VALID [2022-04-15 13:47:09,911 INFO L272 TraceCheckUtils]: 12: Hoare triple {2772#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {2772#true} is VALID [2022-04-15 13:47:09,911 INFO L290 TraceCheckUtils]: 13: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-15 13:47:09,911 INFO L290 TraceCheckUtils]: 14: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-15 13:47:09,911 INFO L290 TraceCheckUtils]: 15: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-15 13:47:09,911 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2772#true} {2772#true} #63#return; {2772#true} is VALID [2022-04-15 13:47:09,912 INFO L290 TraceCheckUtils]: 17: Hoare triple {2772#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2828#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:47:09,912 INFO L290 TraceCheckUtils]: 18: Hoare triple {2828#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2828#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:47:09,912 INFO L272 TraceCheckUtils]: 19: Hoare triple {2828#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2772#true} is VALID [2022-04-15 13:47:09,912 INFO L290 TraceCheckUtils]: 20: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-15 13:47:09,912 INFO L290 TraceCheckUtils]: 21: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-15 13:47:09,912 INFO L290 TraceCheckUtils]: 22: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-15 13:47:09,914 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2772#true} {2828#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {2828#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:47:09,915 INFO L290 TraceCheckUtils]: 24: Hoare triple {2828#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2828#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:47:09,931 INFO L290 TraceCheckUtils]: 25: Hoare triple {2828#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2853#(and (= main_~x~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-15 13:47:09,934 INFO L290 TraceCheckUtils]: 26: Hoare triple {2853#(and (= main_~x~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2857#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-15 13:47:09,937 INFO L290 TraceCheckUtils]: 27: Hoare triple {2857#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2861#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 13:47:09,937 INFO L272 TraceCheckUtils]: 28: Hoare triple {2861#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2772#true} is VALID [2022-04-15 13:47:09,937 INFO L290 TraceCheckUtils]: 29: Hoare triple {2772#true} ~cond := #in~cond; {2868#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:47:09,938 INFO L290 TraceCheckUtils]: 30: Hoare triple {2868#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:47:09,938 INFO L290 TraceCheckUtils]: 31: Hoare triple {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:47:09,940 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} {2861#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {2857#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-15 13:47:09,940 INFO L290 TraceCheckUtils]: 33: Hoare triple {2857#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {2857#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-15 13:47:09,941 INFO L290 TraceCheckUtils]: 34: Hoare triple {2857#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2885#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1) (= main_~x~0 1))} is VALID [2022-04-15 13:47:09,942 INFO L290 TraceCheckUtils]: 35: Hoare triple {2885#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2889#(and (= (+ (- 1) main_~x~0) 1) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1))} is VALID [2022-04-15 13:47:09,943 INFO L290 TraceCheckUtils]: 36: Hoare triple {2889#(and (= (+ (- 1) main_~x~0) 1) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2893#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~Y~0 2) main_~yx~0) (= main_~X~0 main_~xy~0))} is VALID [2022-04-15 13:47:09,943 INFO L272 TraceCheckUtils]: 37: Hoare triple {2893#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~Y~0 2) main_~yx~0) (= main_~X~0 main_~xy~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2897#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:47:09,947 INFO L290 TraceCheckUtils]: 38: Hoare triple {2897#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2901#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:47:09,947 INFO L290 TraceCheckUtils]: 39: Hoare triple {2901#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2773#false} is VALID [2022-04-15 13:47:09,947 INFO L290 TraceCheckUtils]: 40: Hoare triple {2773#false} assume !false; {2773#false} is VALID [2022-04-15 13:47:09,947 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-15 13:47:09,947 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:47:11,075 INFO L290 TraceCheckUtils]: 40: Hoare triple {2773#false} assume !false; {2773#false} is VALID [2022-04-15 13:47:11,076 INFO L290 TraceCheckUtils]: 39: Hoare triple {2901#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2773#false} is VALID [2022-04-15 13:47:11,076 INFO L290 TraceCheckUtils]: 38: Hoare triple {2897#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2901#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:47:11,077 INFO L272 TraceCheckUtils]: 37: Hoare triple {2917#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2897#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:47:11,078 INFO L290 TraceCheckUtils]: 36: Hoare triple {2921#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2917#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 13:47:11,080 INFO L290 TraceCheckUtils]: 35: Hoare triple {2925#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2921#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:47:11,082 INFO L290 TraceCheckUtils]: 34: Hoare triple {2921#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {2925#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 13:47:11,083 INFO L290 TraceCheckUtils]: 33: Hoare triple {2921#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {2921#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:47:11,084 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} {2935#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {2921#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:47:11,084 INFO L290 TraceCheckUtils]: 31: Hoare triple {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:47:11,084 INFO L290 TraceCheckUtils]: 30: Hoare triple {2945#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2872#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:47:11,085 INFO L290 TraceCheckUtils]: 29: Hoare triple {2772#true} ~cond := #in~cond; {2945#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 13:47:11,085 INFO L272 TraceCheckUtils]: 28: Hoare triple {2935#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2772#true} is VALID [2022-04-15 13:47:11,086 INFO L290 TraceCheckUtils]: 27: Hoare triple {2772#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2935#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-15 13:47:11,086 INFO L290 TraceCheckUtils]: 26: Hoare triple {2772#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2772#true} is VALID [2022-04-15 13:47:11,086 INFO L290 TraceCheckUtils]: 25: Hoare triple {2772#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2772#true} is VALID [2022-04-15 13:47:11,086 INFO L290 TraceCheckUtils]: 24: Hoare triple {2772#true} assume !!(~x~0 <= ~X~0); {2772#true} is VALID [2022-04-15 13:47:11,086 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2772#true} {2772#true} #65#return; {2772#true} is VALID [2022-04-15 13:47:11,086 INFO L290 TraceCheckUtils]: 22: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-15 13:47:11,086 INFO L290 TraceCheckUtils]: 21: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-15 13:47:11,086 INFO L290 TraceCheckUtils]: 20: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-15 13:47:11,086 INFO L272 TraceCheckUtils]: 19: Hoare triple {2772#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2772#true} is VALID [2022-04-15 13:47:11,086 INFO L290 TraceCheckUtils]: 18: Hoare triple {2772#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2772#true} is VALID [2022-04-15 13:47:11,087 INFO L290 TraceCheckUtils]: 17: Hoare triple {2772#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2772#true} is VALID [2022-04-15 13:47:11,087 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2772#true} {2772#true} #63#return; {2772#true} is VALID [2022-04-15 13:47:11,087 INFO L290 TraceCheckUtils]: 15: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-15 13:47:11,087 INFO L290 TraceCheckUtils]: 14: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-15 13:47:11,087 INFO L290 TraceCheckUtils]: 13: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-15 13:47:11,087 INFO L272 TraceCheckUtils]: 12: Hoare triple {2772#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {2772#true} is VALID [2022-04-15 13:47:11,087 INFO L290 TraceCheckUtils]: 11: Hoare triple {2772#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2772#true} is VALID [2022-04-15 13:47:11,087 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2772#true} {2772#true} #61#return; {2772#true} is VALID [2022-04-15 13:47:11,087 INFO L290 TraceCheckUtils]: 9: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-15 13:47:11,087 INFO L290 TraceCheckUtils]: 8: Hoare triple {2772#true} assume !(0 == ~cond); {2772#true} is VALID [2022-04-15 13:47:11,087 INFO L290 TraceCheckUtils]: 7: Hoare triple {2772#true} ~cond := #in~cond; {2772#true} is VALID [2022-04-15 13:47:11,087 INFO L272 TraceCheckUtils]: 6: Hoare triple {2772#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {2772#true} is VALID [2022-04-15 13:47:11,087 INFO L290 TraceCheckUtils]: 5: Hoare triple {2772#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {2772#true} is VALID [2022-04-15 13:47:11,087 INFO L272 TraceCheckUtils]: 4: Hoare triple {2772#true} call #t~ret8 := main(); {2772#true} is VALID [2022-04-15 13:47:11,087 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2772#true} {2772#true} #69#return; {2772#true} is VALID [2022-04-15 13:47:11,088 INFO L290 TraceCheckUtils]: 2: Hoare triple {2772#true} assume true; {2772#true} is VALID [2022-04-15 13:47:11,088 INFO L290 TraceCheckUtils]: 1: Hoare triple {2772#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(15, 2);call #Ultimate.allocInit(12, 3); {2772#true} is VALID [2022-04-15 13:47:11,088 INFO L272 TraceCheckUtils]: 0: Hoare triple {2772#true} call ULTIMATE.init(); {2772#true} is VALID [2022-04-15 13:47:11,088 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 13:47:11,088 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:47:11,088 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1736516187] [2022-04-15 13:47:11,088 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:47:11,088 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [65855162] [2022-04-15 13:47:11,088 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [65855162] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:47:11,088 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:47:11,088 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-15 13:47:11,089 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:47:11,089 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1951883769] [2022-04-15 13:47:11,089 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1951883769] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:47:11,089 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:47:11,089 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 13:47:11,089 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1340177567] [2022-04-15 13:47:11,089 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:47:11,089 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-15 13:47:11,090 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:47:11,090 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:47:11,124 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:47:11,124 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 13:47:11,124 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:47:11,125 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 13:47:11,125 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=255, Unknown=0, NotChecked=0, Total=306 [2022-04-15 13:47:11,125 INFO L87 Difference]: Start difference. First operand 55 states and 61 transitions. Second operand has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:47:11,999 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:47:11,999 INFO L93 Difference]: Finished difference Result 72 states and 79 transitions. [2022-04-15 13:47:11,999 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 13:47:11,999 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-15 13:47:11,999 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:47:11,999 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:47:12,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-15 13:47:12,001 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:47:12,002 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-15 13:47:12,002 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 58 transitions. [2022-04-15 13:47:12,052 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:47:12,054 INFO L225 Difference]: With dead ends: 72 [2022-04-15 13:47:12,054 INFO L226 Difference]: Without dead ends: 70 [2022-04-15 13:47:12,054 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 62 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=71, Invalid=349, Unknown=0, NotChecked=0, Total=420 [2022-04-15 13:47:12,055 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 16 mSDsluCounter, 163 mSDsCounter, 0 mSdLazyCounter, 336 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 186 SdHoareTripleChecker+Invalid, 341 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 336 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 13:47:12,055 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 186 Invalid, 341 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 336 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 13:47:12,055 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-15 13:47:12,114 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 59. [2022-04-15 13:47:12,115 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:47:12,115 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 13:47:12,115 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 13:47:12,115 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 13:47:12,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:47:12,117 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-15 13:47:12,117 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-15 13:47:12,117 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:47:12,117 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:47:12,118 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 70 states. [2022-04-15 13:47:12,118 INFO L87 Difference]: Start difference. First operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 70 states. [2022-04-15 13:47:12,119 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:47:12,119 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-15 13:47:12,119 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-15 13:47:12,120 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:47:12,120 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:47:12,120 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:47:12,120 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:47:12,120 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 43 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 13:47:12,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 64 transitions. [2022-04-15 13:47:12,121 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 64 transitions. Word has length 41 [2022-04-15 13:47:12,121 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:47:12,122 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 64 transitions. [2022-04-15 13:47:12,122 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:47:12,122 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 64 transitions. [2022-04-15 13:47:12,230 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:47:12,231 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 64 transitions. [2022-04-15 13:47:12,231 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-15 13:47:12,231 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:47:12,231 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 13:47:12,249 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-15 13:47:12,435 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:47:12,437 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:47:12,438 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:47:12,438 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 3 times [2022-04-15 13:47:12,438 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:47:12,438 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [319419753] [2022-04-15 13:47:12,438 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:47:12,438 INFO L85 PathProgramCache]: Analyzing trace with hash -287119529, now seen corresponding path program 4 times [2022-04-15 13:47:12,438 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:47:12,438 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [309643402] [2022-04-15 13:47:12,439 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:47:12,439 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:47:12,461 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:47:12,461 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1403599625] [2022-04-15 13:47:12,461 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 13:47:12,461 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:47:12,461 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:47:12,462 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:47:12,464 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-15 13:47:12,511 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 13:47:12,511 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:47:12,512 INFO L263 TraceCheckSpWp]: Trace formula consists of 85 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-15 13:47:12,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:47:12,524 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:47:26,494 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:47:31,690 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:47:34,122 INFO L272 TraceCheckUtils]: 0: Hoare triple {3443#true} call ULTIMATE.init(); {3443#true} is VALID [2022-04-15 13:47:34,122 INFO L290 TraceCheckUtils]: 1: Hoare triple {3443#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(15, 2);call #Ultimate.allocInit(12, 3); {3443#true} is VALID [2022-04-15 13:47:34,122 INFO L290 TraceCheckUtils]: 2: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-15 13:47:34,122 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3443#true} {3443#true} #69#return; {3443#true} is VALID [2022-04-15 13:47:34,122 INFO L272 TraceCheckUtils]: 4: Hoare triple {3443#true} call #t~ret8 := main(); {3443#true} is VALID [2022-04-15 13:47:34,122 INFO L290 TraceCheckUtils]: 5: Hoare triple {3443#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {3443#true} is VALID [2022-04-15 13:47:34,122 INFO L272 TraceCheckUtils]: 6: Hoare triple {3443#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {3443#true} is VALID [2022-04-15 13:47:34,122 INFO L290 TraceCheckUtils]: 7: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-15 13:47:34,122 INFO L290 TraceCheckUtils]: 8: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-15 13:47:34,122 INFO L290 TraceCheckUtils]: 9: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-15 13:47:34,122 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3443#true} {3443#true} #61#return; {3443#true} is VALID [2022-04-15 13:47:34,122 INFO L290 TraceCheckUtils]: 11: Hoare triple {3443#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3443#true} is VALID [2022-04-15 13:47:34,123 INFO L272 TraceCheckUtils]: 12: Hoare triple {3443#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {3443#true} is VALID [2022-04-15 13:47:34,123 INFO L290 TraceCheckUtils]: 13: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-15 13:47:34,123 INFO L290 TraceCheckUtils]: 14: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-15 13:47:34,123 INFO L290 TraceCheckUtils]: 15: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-15 13:47:34,123 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3443#true} {3443#true} #63#return; {3443#true} is VALID [2022-04-15 13:47:34,123 INFO L290 TraceCheckUtils]: 17: Hoare triple {3443#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 13:47:34,124 INFO L290 TraceCheckUtils]: 18: Hoare triple {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 13:47:34,124 INFO L272 TraceCheckUtils]: 19: Hoare triple {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3443#true} is VALID [2022-04-15 13:47:34,124 INFO L290 TraceCheckUtils]: 20: Hoare triple {3443#true} ~cond := #in~cond; {3509#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:47:34,124 INFO L290 TraceCheckUtils]: 21: Hoare triple {3509#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:47:34,124 INFO L290 TraceCheckUtils]: 22: Hoare triple {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:47:34,125 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #65#return; {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 13:47:34,125 INFO L290 TraceCheckUtils]: 24: Hoare triple {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 13:47:34,126 INFO L290 TraceCheckUtils]: 25: Hoare triple {3499#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3526#(and (= main_~x~0 0) (not (< (* main_~Y~0 2) main_~X~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-15 13:47:34,126 INFO L290 TraceCheckUtils]: 26: Hoare triple {3526#(and (= main_~x~0 0) (not (< (* main_~Y~0 2) main_~X~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3530#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-15 13:47:34,127 INFO L290 TraceCheckUtils]: 27: Hoare triple {3530#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3534#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-15 13:47:34,127 INFO L272 TraceCheckUtils]: 28: Hoare triple {3534#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3443#true} is VALID [2022-04-15 13:47:34,127 INFO L290 TraceCheckUtils]: 29: Hoare triple {3443#true} ~cond := #in~cond; {3509#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:47:34,127 INFO L290 TraceCheckUtils]: 30: Hoare triple {3509#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:47:34,128 INFO L290 TraceCheckUtils]: 31: Hoare triple {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:47:34,129 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} {3534#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} #65#return; {3550#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-15 13:47:34,129 INFO L290 TraceCheckUtils]: 33: Hoare triple {3550#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} assume !!(~x~0 <= ~X~0); {3550#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} is VALID [2022-04-15 13:47:34,130 INFO L290 TraceCheckUtils]: 34: Hoare triple {3550#(and (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 2) main_~X~0)) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3557#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (not (< (* main_~Y~0 2) main_~X~0)) (< (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)) (<= (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2)) (+ (* main_~X~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 13:47:34,131 INFO L290 TraceCheckUtils]: 35: Hoare triple {3557#(and (= (+ (- 1) main_~x~0) 0) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (not (< (* main_~Y~0 2) main_~X~0)) (< (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)) (<= (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 2)) (+ (* main_~X~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3561#(and (not (< (* main_~Y~0 2) main_~X~0)) (<= (* (* main_~X~0 main_~y~0) 2) (* main_~X~0 2)) (< (* main_~Y~0 4) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)) (= main_~x~0 2) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 6))))} is VALID [2022-04-15 13:47:34,133 INFO L290 TraceCheckUtils]: 36: Hoare triple {3561#(and (not (< (* main_~Y~0 2) main_~X~0)) (<= (* (* main_~X~0 main_~y~0) 2) (* main_~X~0 2)) (< (* main_~Y~0 4) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)) (= main_~x~0 2) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 6))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3565#(and (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~Y~0 2) main_~yx~0) (< (* main_~Y~0 4) (+ main_~X~0 (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 6) (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0))) (<= (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2) (* main_~X~0 2)) (= (mod main_~xy~0 main_~X~0) 0))} is VALID [2022-04-15 13:47:34,134 INFO L272 TraceCheckUtils]: 37: Hoare triple {3565#(and (not (< (* main_~Y~0 2) main_~X~0)) (= (* main_~Y~0 2) main_~yx~0) (< (* main_~Y~0 4) (+ main_~X~0 (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 6) (* (- 2) (div main_~xy~0 main_~X~0) main_~X~0))) (<= (* (* (div main_~xy~0 main_~X~0) main_~X~0) 2) (* main_~X~0 2)) (= (mod main_~xy~0 main_~X~0) 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3569#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:47:34,134 INFO L290 TraceCheckUtils]: 38: Hoare triple {3569#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3573#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:47:34,134 INFO L290 TraceCheckUtils]: 39: Hoare triple {3573#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3444#false} is VALID [2022-04-15 13:47:34,134 INFO L290 TraceCheckUtils]: 40: Hoare triple {3444#false} assume !false; {3444#false} is VALID [2022-04-15 13:47:34,135 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 2 proven. 11 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-15 13:47:34,135 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:47:36,779 INFO L290 TraceCheckUtils]: 40: Hoare triple {3444#false} assume !false; {3444#false} is VALID [2022-04-15 13:47:36,779 INFO L290 TraceCheckUtils]: 39: Hoare triple {3573#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3444#false} is VALID [2022-04-15 13:47:36,779 INFO L290 TraceCheckUtils]: 38: Hoare triple {3569#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3573#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:47:36,780 INFO L272 TraceCheckUtils]: 37: Hoare triple {3589#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3569#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:47:36,781 INFO L290 TraceCheckUtils]: 36: Hoare triple {3593#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3589#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 13:47:36,782 INFO L290 TraceCheckUtils]: 35: Hoare triple {3597#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3593#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:47:36,783 INFO L290 TraceCheckUtils]: 34: Hoare triple {3601#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3597#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 13:47:36,783 INFO L290 TraceCheckUtils]: 33: Hoare triple {3601#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !!(~x~0 <= ~X~0); {3601#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 13:47:36,784 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} {3608#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} #65#return; {3601#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 13:47:36,785 INFO L290 TraceCheckUtils]: 31: Hoare triple {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:47:36,785 INFO L290 TraceCheckUtils]: 30: Hoare triple {3618#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:47:36,785 INFO L290 TraceCheckUtils]: 29: Hoare triple {3443#true} ~cond := #in~cond; {3618#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 13:47:36,785 INFO L272 TraceCheckUtils]: 28: Hoare triple {3608#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3443#true} is VALID [2022-04-15 13:47:36,786 INFO L290 TraceCheckUtils]: 27: Hoare triple {3443#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3608#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 13:47:36,786 INFO L290 TraceCheckUtils]: 26: Hoare triple {3443#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3443#true} is VALID [2022-04-15 13:47:36,786 INFO L290 TraceCheckUtils]: 25: Hoare triple {3443#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {3443#true} is VALID [2022-04-15 13:47:36,786 INFO L290 TraceCheckUtils]: 24: Hoare triple {3443#true} assume !!(~x~0 <= ~X~0); {3443#true} is VALID [2022-04-15 13:47:36,786 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3443#true} {3443#true} #65#return; {3443#true} is VALID [2022-04-15 13:47:36,786 INFO L290 TraceCheckUtils]: 22: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-15 13:47:36,786 INFO L290 TraceCheckUtils]: 21: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-15 13:47:36,786 INFO L290 TraceCheckUtils]: 20: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-15 13:47:36,786 INFO L272 TraceCheckUtils]: 19: Hoare triple {3443#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3443#true} is VALID [2022-04-15 13:47:36,787 INFO L290 TraceCheckUtils]: 18: Hoare triple {3443#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3443#true} is VALID [2022-04-15 13:47:36,787 INFO L290 TraceCheckUtils]: 17: Hoare triple {3443#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3443#true} is VALID [2022-04-15 13:47:36,787 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3443#true} {3443#true} #63#return; {3443#true} is VALID [2022-04-15 13:47:36,787 INFO L290 TraceCheckUtils]: 15: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-15 13:47:36,787 INFO L290 TraceCheckUtils]: 14: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-15 13:47:36,787 INFO L290 TraceCheckUtils]: 13: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-15 13:47:36,787 INFO L272 TraceCheckUtils]: 12: Hoare triple {3443#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {3443#true} is VALID [2022-04-15 13:47:36,787 INFO L290 TraceCheckUtils]: 11: Hoare triple {3443#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3443#true} is VALID [2022-04-15 13:47:36,787 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3443#true} {3443#true} #61#return; {3443#true} is VALID [2022-04-15 13:47:36,787 INFO L290 TraceCheckUtils]: 9: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-15 13:47:36,787 INFO L290 TraceCheckUtils]: 8: Hoare triple {3443#true} assume !(0 == ~cond); {3443#true} is VALID [2022-04-15 13:47:36,787 INFO L290 TraceCheckUtils]: 7: Hoare triple {3443#true} ~cond := #in~cond; {3443#true} is VALID [2022-04-15 13:47:36,787 INFO L272 TraceCheckUtils]: 6: Hoare triple {3443#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {3443#true} is VALID [2022-04-15 13:47:36,787 INFO L290 TraceCheckUtils]: 5: Hoare triple {3443#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {3443#true} is VALID [2022-04-15 13:47:36,787 INFO L272 TraceCheckUtils]: 4: Hoare triple {3443#true} call #t~ret8 := main(); {3443#true} is VALID [2022-04-15 13:47:36,787 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3443#true} {3443#true} #69#return; {3443#true} is VALID [2022-04-15 13:47:36,787 INFO L290 TraceCheckUtils]: 2: Hoare triple {3443#true} assume true; {3443#true} is VALID [2022-04-15 13:47:36,788 INFO L290 TraceCheckUtils]: 1: Hoare triple {3443#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(15, 2);call #Ultimate.allocInit(12, 3); {3443#true} is VALID [2022-04-15 13:47:36,788 INFO L272 TraceCheckUtils]: 0: Hoare triple {3443#true} call ULTIMATE.init(); {3443#true} is VALID [2022-04-15 13:47:36,788 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 13:47:36,788 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:47:36,788 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [309643402] [2022-04-15 13:47:36,788 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:47:36,788 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1403599625] [2022-04-15 13:47:36,788 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1403599625] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:47:36,788 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:47:36,788 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 20 [2022-04-15 13:47:36,788 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:47:36,788 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [319419753] [2022-04-15 13:47:36,789 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [319419753] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:47:36,789 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:47:36,789 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 13:47:36,789 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [310226516] [2022-04-15 13:47:36,789 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:47:36,789 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-15 13:47:36,789 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:47:36,789 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:47:36,817 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:47:36,817 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 13:47:36,818 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:47:36,818 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 13:47:36,818 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=319, Unknown=1, NotChecked=0, Total=380 [2022-04-15 13:47:36,818 INFO L87 Difference]: Start difference. First operand 59 states and 64 transitions. Second operand has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:47:39,248 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:47:41,683 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:47:44,579 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:47:47,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:47:47,269 INFO L93 Difference]: Finished difference Result 86 states and 98 transitions. [2022-04-15 13:47:47,269 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 13:47:47,269 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-15 13:47:47,269 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:47:47,269 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:47:47,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 70 transitions. [2022-04-15 13:47:47,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:47:47,271 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 70 transitions. [2022-04-15 13:47:47,271 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 70 transitions. [2022-04-15 13:47:47,347 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:47:47,349 INFO L225 Difference]: With dead ends: 86 [2022-04-15 13:47:47,349 INFO L226 Difference]: Without dead ends: 73 [2022-04-15 13:47:47,349 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 61 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 71 ImplicationChecksByTransitivity, 3.6s TimeCoverageRelationStatistics Valid=98, Invalid=501, Unknown=1, NotChecked=0, Total=600 [2022-04-15 13:47:47,349 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 15 mSDsluCounter, 158 mSDsCounter, 0 mSdLazyCounter, 298 mSolverCounterSat, 6 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 307 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 298 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.4s IncrementalHoareTripleChecker+Time [2022-04-15 13:47:47,349 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 184 Invalid, 307 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 298 Invalid, 3 Unknown, 0 Unchecked, 6.4s Time] [2022-04-15 13:47:47,350 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2022-04-15 13:47:47,431 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 73. [2022-04-15 13:47:47,431 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:47:47,432 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 13:47:47,432 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 13:47:47,432 INFO L87 Difference]: Start difference. First operand 73 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 13:47:47,433 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:47:47,434 INFO L93 Difference]: Finished difference Result 73 states and 80 transitions. [2022-04-15 13:47:47,434 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-15 13:47:47,434 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:47:47,434 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:47:47,434 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 73 states. [2022-04-15 13:47:47,434 INFO L87 Difference]: Start difference. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 73 states. [2022-04-15 13:47:47,435 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:47:47,436 INFO L93 Difference]: Finished difference Result 73 states and 80 transitions. [2022-04-15 13:47:47,436 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-15 13:47:47,436 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:47:47,436 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:47:47,436 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:47:47,436 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:47:47,436 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 13:47:47,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 80 transitions. [2022-04-15 13:47:47,437 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 80 transitions. Word has length 41 [2022-04-15 13:47:47,438 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:47:47,438 INFO L478 AbstractCegarLoop]: Abstraction has 73 states and 80 transitions. [2022-04-15 13:47:47,438 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 13 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:47:47,438 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 80 transitions. [2022-04-15 13:47:47,556 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:47:47,556 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-15 13:47:47,557 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-15 13:47:47,557 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:47:47,557 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 13:47:47,560 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-15 13:47:47,759 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:47:47,759 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:47:47,760 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:47:47,760 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 3 times [2022-04-15 13:47:47,760 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:47:47,760 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1295737185] [2022-04-15 13:47:47,760 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:47:47,760 INFO L85 PathProgramCache]: Analyzing trace with hash 1487887833, now seen corresponding path program 4 times [2022-04-15 13:47:47,760 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:47:47,760 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [636563858] [2022-04-15 13:47:47,760 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:47:47,760 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:47:47,768 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:47:47,769 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1484839242] [2022-04-15 13:47:47,769 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 13:47:47,769 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:47:47,769 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:47:47,769 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:47:47,770 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-15 13:47:47,818 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 13:47:47,818 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:47:47,819 INFO L263 TraceCheckSpWp]: Trace formula consists of 87 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-15 13:47:47,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:47:47,828 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:47:48,091 INFO L272 TraceCheckUtils]: 0: Hoare triple {4182#true} call ULTIMATE.init(); {4182#true} is VALID [2022-04-15 13:47:48,091 INFO L290 TraceCheckUtils]: 1: Hoare triple {4182#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(15, 2);call #Ultimate.allocInit(12, 3); {4182#true} is VALID [2022-04-15 13:47:48,091 INFO L290 TraceCheckUtils]: 2: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-15 13:47:48,091 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4182#true} {4182#true} #69#return; {4182#true} is VALID [2022-04-15 13:47:48,091 INFO L272 TraceCheckUtils]: 4: Hoare triple {4182#true} call #t~ret8 := main(); {4182#true} is VALID [2022-04-15 13:47:48,092 INFO L290 TraceCheckUtils]: 5: Hoare triple {4182#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {4182#true} is VALID [2022-04-15 13:47:48,092 INFO L272 TraceCheckUtils]: 6: Hoare triple {4182#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {4182#true} is VALID [2022-04-15 13:47:48,092 INFO L290 TraceCheckUtils]: 7: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-15 13:47:48,092 INFO L290 TraceCheckUtils]: 8: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-15 13:47:48,092 INFO L290 TraceCheckUtils]: 9: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-15 13:47:48,092 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4182#true} {4182#true} #61#return; {4182#true} is VALID [2022-04-15 13:47:48,092 INFO L290 TraceCheckUtils]: 11: Hoare triple {4182#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4182#true} is VALID [2022-04-15 13:47:48,092 INFO L272 TraceCheckUtils]: 12: Hoare triple {4182#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {4182#true} is VALID [2022-04-15 13:47:48,092 INFO L290 TraceCheckUtils]: 13: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-15 13:47:48,092 INFO L290 TraceCheckUtils]: 14: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-15 13:47:48,092 INFO L290 TraceCheckUtils]: 15: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-15 13:47:48,092 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4182#true} {4182#true} #63#return; {4182#true} is VALID [2022-04-15 13:47:48,092 INFO L290 TraceCheckUtils]: 17: Hoare triple {4182#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4238#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:47:48,093 INFO L290 TraceCheckUtils]: 18: Hoare triple {4238#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4238#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:47:48,093 INFO L272 TraceCheckUtils]: 19: Hoare triple {4238#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4182#true} is VALID [2022-04-15 13:47:48,093 INFO L290 TraceCheckUtils]: 20: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-15 13:47:48,093 INFO L290 TraceCheckUtils]: 21: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-15 13:47:48,093 INFO L290 TraceCheckUtils]: 22: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-15 13:47:48,094 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4182#true} {4238#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {4238#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:47:48,094 INFO L290 TraceCheckUtils]: 24: Hoare triple {4238#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {4238#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:47:48,095 INFO L290 TraceCheckUtils]: 25: Hoare triple {4238#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4263#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 13:47:48,095 INFO L290 TraceCheckUtils]: 26: Hoare triple {4263#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4267#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 13:47:48,095 INFO L290 TraceCheckUtils]: 27: Hoare triple {4267#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4267#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 13:47:48,095 INFO L272 TraceCheckUtils]: 28: Hoare triple {4267#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4182#true} is VALID [2022-04-15 13:47:48,095 INFO L290 TraceCheckUtils]: 29: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-15 13:47:48,096 INFO L290 TraceCheckUtils]: 30: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-15 13:47:48,096 INFO L290 TraceCheckUtils]: 31: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-15 13:47:48,096 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4182#true} {4267#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #65#return; {4267#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 13:47:48,096 INFO L290 TraceCheckUtils]: 33: Hoare triple {4267#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {4289#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 13:47:48,097 INFO L290 TraceCheckUtils]: 34: Hoare triple {4289#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4293#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 2) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 13:47:48,098 INFO L290 TraceCheckUtils]: 35: Hoare triple {4293#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 2) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4297#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 13:47:48,098 INFO L290 TraceCheckUtils]: 36: Hoare triple {4297#(and (= (+ (- 2) main_~x~0) 0) (= (+ (- 2) main_~y~0) 0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4301#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 2) main_~yx~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 1 main_~X~0))} is VALID [2022-04-15 13:47:48,099 INFO L272 TraceCheckUtils]: 37: Hoare triple {4301#(and (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 2) main_~yx~0) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 1 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4305#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:47:48,099 INFO L290 TraceCheckUtils]: 38: Hoare triple {4305#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4309#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:47:48,100 INFO L290 TraceCheckUtils]: 39: Hoare triple {4309#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4183#false} is VALID [2022-04-15 13:47:48,100 INFO L290 TraceCheckUtils]: 40: Hoare triple {4183#false} assume !false; {4183#false} is VALID [2022-04-15 13:47:48,100 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-15 13:47:48,100 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:47:48,457 INFO L290 TraceCheckUtils]: 40: Hoare triple {4183#false} assume !false; {4183#false} is VALID [2022-04-15 13:47:48,458 INFO L290 TraceCheckUtils]: 39: Hoare triple {4309#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4183#false} is VALID [2022-04-15 13:47:48,458 INFO L290 TraceCheckUtils]: 38: Hoare triple {4305#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4309#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:47:48,459 INFO L272 TraceCheckUtils]: 37: Hoare triple {4325#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4305#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:47:48,459 INFO L290 TraceCheckUtils]: 36: Hoare triple {4329#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4325#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 13:47:48,461 INFO L290 TraceCheckUtils]: 35: Hoare triple {4333#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4329#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:47:48,462 INFO L290 TraceCheckUtils]: 34: Hoare triple {4337#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4333#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 13:47:48,463 INFO L290 TraceCheckUtils]: 33: Hoare triple {4341#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {4337#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 13:47:48,463 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4182#true} {4341#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} #65#return; {4341#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 13:47:48,463 INFO L290 TraceCheckUtils]: 31: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-15 13:47:48,463 INFO L290 TraceCheckUtils]: 30: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-15 13:47:48,463 INFO L290 TraceCheckUtils]: 29: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-15 13:47:48,463 INFO L272 TraceCheckUtils]: 28: Hoare triple {4341#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4182#true} is VALID [2022-04-15 13:47:48,464 INFO L290 TraceCheckUtils]: 27: Hoare triple {4341#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4341#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 13:47:48,465 INFO L290 TraceCheckUtils]: 26: Hoare triple {4363#(or (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)) (= (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2)) (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {4341#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 13:47:48,467 INFO L290 TraceCheckUtils]: 25: Hoare triple {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {4363#(or (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)) (= (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2)) (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2))))} is VALID [2022-04-15 13:47:48,467 INFO L290 TraceCheckUtils]: 24: Hoare triple {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} assume !!(~x~0 <= ~X~0); {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-15 13:47:48,468 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4182#true} {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} #65#return; {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-15 13:47:48,468 INFO L290 TraceCheckUtils]: 22: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-15 13:47:48,468 INFO L290 TraceCheckUtils]: 21: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-15 13:47:48,468 INFO L290 TraceCheckUtils]: 20: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-15 13:47:48,468 INFO L272 TraceCheckUtils]: 19: Hoare triple {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4182#true} is VALID [2022-04-15 13:47:48,468 INFO L290 TraceCheckUtils]: 18: Hoare triple {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-15 13:47:48,469 INFO L290 TraceCheckUtils]: 17: Hoare triple {4182#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4367#(or (not (<= (+ main_~x~0 1) main_~X~0)) (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2)) (= (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~y~0 2) main_~X~0)) main_~v~0 (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-15 13:47:48,469 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4182#true} {4182#true} #63#return; {4182#true} is VALID [2022-04-15 13:47:48,469 INFO L290 TraceCheckUtils]: 15: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-15 13:47:48,469 INFO L290 TraceCheckUtils]: 14: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-15 13:47:48,469 INFO L290 TraceCheckUtils]: 13: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-15 13:47:48,469 INFO L272 TraceCheckUtils]: 12: Hoare triple {4182#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {4182#true} is VALID [2022-04-15 13:47:48,469 INFO L290 TraceCheckUtils]: 11: Hoare triple {4182#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4182#true} is VALID [2022-04-15 13:47:48,469 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4182#true} {4182#true} #61#return; {4182#true} is VALID [2022-04-15 13:47:48,469 INFO L290 TraceCheckUtils]: 9: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-15 13:47:48,469 INFO L290 TraceCheckUtils]: 8: Hoare triple {4182#true} assume !(0 == ~cond); {4182#true} is VALID [2022-04-15 13:47:48,469 INFO L290 TraceCheckUtils]: 7: Hoare triple {4182#true} ~cond := #in~cond; {4182#true} is VALID [2022-04-15 13:47:48,470 INFO L272 TraceCheckUtils]: 6: Hoare triple {4182#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {4182#true} is VALID [2022-04-15 13:47:48,470 INFO L290 TraceCheckUtils]: 5: Hoare triple {4182#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {4182#true} is VALID [2022-04-15 13:47:48,470 INFO L272 TraceCheckUtils]: 4: Hoare triple {4182#true} call #t~ret8 := main(); {4182#true} is VALID [2022-04-15 13:47:48,470 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4182#true} {4182#true} #69#return; {4182#true} is VALID [2022-04-15 13:47:48,470 INFO L290 TraceCheckUtils]: 2: Hoare triple {4182#true} assume true; {4182#true} is VALID [2022-04-15 13:47:48,470 INFO L290 TraceCheckUtils]: 1: Hoare triple {4182#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(15, 2);call #Ultimate.allocInit(12, 3); {4182#true} is VALID [2022-04-15 13:47:48,470 INFO L272 TraceCheckUtils]: 0: Hoare triple {4182#true} call ULTIMATE.init(); {4182#true} is VALID [2022-04-15 13:47:48,470 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 7 proven. 6 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-15 13:47:48,470 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:47:48,470 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [636563858] [2022-04-15 13:47:48,470 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:47:48,470 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1484839242] [2022-04-15 13:47:48,470 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1484839242] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:47:48,470 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:47:48,470 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 18 [2022-04-15 13:47:48,471 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:47:48,471 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1295737185] [2022-04-15 13:47:48,471 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1295737185] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:47:48,471 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:47:48,471 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 13:47:48,471 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1200778700] [2022-04-15 13:47:48,471 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:47:48,472 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-15 13:47:48,472 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:47:48,472 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:47:48,496 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:47:48,496 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 13:47:48,496 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:47:48,497 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 13:47:48,497 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=246, Unknown=0, NotChecked=0, Total=306 [2022-04-15 13:47:48,497 INFO L87 Difference]: Start difference. First operand 73 states and 80 transitions. Second operand has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:47:49,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:47:49,175 INFO L93 Difference]: Finished difference Result 86 states and 95 transitions. [2022-04-15 13:47:49,175 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 13:47:49,175 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 41 [2022-04-15 13:47:49,175 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:47:49,175 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:47:49,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-04-15 13:47:49,176 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:47:49,177 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 58 transitions. [2022-04-15 13:47:49,177 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 58 transitions. [2022-04-15 13:47:49,222 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:47:49,224 INFO L225 Difference]: With dead ends: 86 [2022-04-15 13:47:49,224 INFO L226 Difference]: Without dead ends: 84 [2022-04-15 13:47:49,224 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 64 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=73, Invalid=307, Unknown=0, NotChecked=0, Total=380 [2022-04-15 13:47:49,225 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 11 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 254 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 257 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 254 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 13:47:49,226 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 184 Invalid, 257 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 254 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 13:47:49,226 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-15 13:47:49,316 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 73. [2022-04-15 13:47:49,316 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:47:49,317 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 13:47:49,317 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 13:47:49,318 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 13:47:49,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:47:49,320 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-15 13:47:49,320 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-15 13:47:49,320 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:47:49,320 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:47:49,320 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 84 states. [2022-04-15 13:47:49,320 INFO L87 Difference]: Start difference. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 84 states. [2022-04-15 13:47:49,322 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:47:49,322 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-15 13:47:49,322 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-15 13:47:49,322 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:47:49,322 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:47:49,322 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:47:49,322 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:47:49,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 13:47:49,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 80 transitions. [2022-04-15 13:47:49,323 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 80 transitions. Word has length 41 [2022-04-15 13:47:49,323 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:47:49,323 INFO L478 AbstractCegarLoop]: Abstraction has 73 states and 80 transitions. [2022-04-15 13:47:49,323 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.3) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-15 13:47:49,323 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 80 transitions. [2022-04-15 13:47:49,442 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:47:49,442 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-15 13:47:49,442 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-15 13:47:49,443 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:47:49,443 INFO L499 BasicCegarLoop]: trace histogram [4, 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] [2022-04-15 13:47:49,448 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-15 13:47:49,643 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-15 13:47:49,643 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:47:49,643 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:47:49,644 INFO L85 PathProgramCache]: Analyzing trace with hash 651179076, now seen corresponding path program 1 times [2022-04-15 13:47:49,644 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:47:49,644 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [885554602] [2022-04-15 13:47:49,644 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:47:49,644 INFO L85 PathProgramCache]: Analyzing trace with hash 651179076, now seen corresponding path program 2 times [2022-04-15 13:47:49,644 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:47:49,644 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2031724873] [2022-04-15 13:47:49,644 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:47:49,644 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:47:49,653 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:47:49,653 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1887031967] [2022-04-15 13:47:49,653 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 13:47:49,653 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:47:49,653 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:47:49,654 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:47:49,655 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-15 13:47:49,689 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 13:47:49,690 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:47:49,690 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-15 13:47:49,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:47:49,699 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:47:50,317 INFO L272 TraceCheckUtils]: 0: Hoare triple {4935#true} call ULTIMATE.init(); {4935#true} is VALID [2022-04-15 13:47:50,318 INFO L290 TraceCheckUtils]: 1: Hoare triple {4935#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(15, 2);call #Ultimate.allocInit(12, 3); {4935#true} is VALID [2022-04-15 13:47:50,318 INFO L290 TraceCheckUtils]: 2: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-15 13:47:50,318 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4935#true} {4935#true} #69#return; {4935#true} is VALID [2022-04-15 13:47:50,318 INFO L272 TraceCheckUtils]: 4: Hoare triple {4935#true} call #t~ret8 := main(); {4935#true} is VALID [2022-04-15 13:47:50,318 INFO L290 TraceCheckUtils]: 5: Hoare triple {4935#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {4935#true} is VALID [2022-04-15 13:47:50,318 INFO L272 TraceCheckUtils]: 6: Hoare triple {4935#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {4935#true} is VALID [2022-04-15 13:47:50,318 INFO L290 TraceCheckUtils]: 7: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-15 13:47:50,318 INFO L290 TraceCheckUtils]: 8: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-15 13:47:50,318 INFO L290 TraceCheckUtils]: 9: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-15 13:47:50,318 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4935#true} {4935#true} #61#return; {4935#true} is VALID [2022-04-15 13:47:50,318 INFO L290 TraceCheckUtils]: 11: Hoare triple {4935#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4935#true} is VALID [2022-04-15 13:47:50,318 INFO L272 TraceCheckUtils]: 12: Hoare triple {4935#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {4935#true} is VALID [2022-04-15 13:47:50,318 INFO L290 TraceCheckUtils]: 13: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-15 13:47:50,318 INFO L290 TraceCheckUtils]: 14: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-15 13:47:50,318 INFO L290 TraceCheckUtils]: 15: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-15 13:47:50,318 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4935#true} {4935#true} #63#return; {4935#true} is VALID [2022-04-15 13:47:50,319 INFO L290 TraceCheckUtils]: 17: Hoare triple {4935#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 13:47:50,319 INFO L290 TraceCheckUtils]: 18: Hoare triple {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 13:47:50,319 INFO L272 TraceCheckUtils]: 19: Hoare triple {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4935#true} is VALID [2022-04-15 13:47:50,319 INFO L290 TraceCheckUtils]: 20: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-15 13:47:50,319 INFO L290 TraceCheckUtils]: 21: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-15 13:47:50,319 INFO L290 TraceCheckUtils]: 22: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-15 13:47:50,320 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4935#true} {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #65#return; {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 13:47:50,320 INFO L290 TraceCheckUtils]: 24: Hoare triple {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 13:47:50,321 INFO L290 TraceCheckUtils]: 25: Hoare triple {4991#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {5016#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 13:47:50,322 INFO L290 TraceCheckUtils]: 26: Hoare triple {5016#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 13:47:50,322 INFO L290 TraceCheckUtils]: 27: Hoare triple {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 13:47:50,322 INFO L272 TraceCheckUtils]: 28: Hoare triple {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4935#true} is VALID [2022-04-15 13:47:50,322 INFO L290 TraceCheckUtils]: 29: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-15 13:47:50,322 INFO L290 TraceCheckUtils]: 30: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-15 13:47:50,322 INFO L290 TraceCheckUtils]: 31: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-15 13:47:50,323 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4935#true} {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #65#return; {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 13:47:50,323 INFO L290 TraceCheckUtils]: 33: Hoare triple {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(~x~0 <= ~X~0); {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-15 13:47:50,324 INFO L290 TraceCheckUtils]: 34: Hoare triple {5020#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5045#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 13:47:50,324 INFO L290 TraceCheckUtils]: 35: Hoare triple {5045#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 13:47:50,325 INFO L290 TraceCheckUtils]: 36: Hoare triple {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 13:47:50,325 INFO L272 TraceCheckUtils]: 37: Hoare triple {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4935#true} is VALID [2022-04-15 13:47:50,325 INFO L290 TraceCheckUtils]: 38: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-15 13:47:50,325 INFO L290 TraceCheckUtils]: 39: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-15 13:47:50,325 INFO L290 TraceCheckUtils]: 40: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-15 13:47:50,325 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4935#true} {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #65#return; {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-15 13:47:50,326 INFO L290 TraceCheckUtils]: 42: Hoare triple {5049#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !(~x~0 <= ~X~0); {4936#false} is VALID [2022-04-15 13:47:50,326 INFO L290 TraceCheckUtils]: 43: Hoare triple {4936#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {4936#false} is VALID [2022-04-15 13:47:50,326 INFO L272 TraceCheckUtils]: 44: Hoare triple {4936#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {4936#false} is VALID [2022-04-15 13:47:50,326 INFO L290 TraceCheckUtils]: 45: Hoare triple {4936#false} ~cond := #in~cond; {4936#false} is VALID [2022-04-15 13:47:50,326 INFO L290 TraceCheckUtils]: 46: Hoare triple {4936#false} assume 0 == ~cond; {4936#false} is VALID [2022-04-15 13:47:50,326 INFO L290 TraceCheckUtils]: 47: Hoare triple {4936#false} assume !false; {4936#false} is VALID [2022-04-15 13:47:50,326 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 6 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 13:47:50,326 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:47:50,575 INFO L290 TraceCheckUtils]: 47: Hoare triple {4936#false} assume !false; {4936#false} is VALID [2022-04-15 13:47:50,576 INFO L290 TraceCheckUtils]: 46: Hoare triple {4936#false} assume 0 == ~cond; {4936#false} is VALID [2022-04-15 13:47:50,576 INFO L290 TraceCheckUtils]: 45: Hoare triple {4936#false} ~cond := #in~cond; {4936#false} is VALID [2022-04-15 13:47:50,576 INFO L272 TraceCheckUtils]: 44: Hoare triple {4936#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {4936#false} is VALID [2022-04-15 13:47:50,576 INFO L290 TraceCheckUtils]: 43: Hoare triple {4936#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {4936#false} is VALID [2022-04-15 13:47:50,576 INFO L290 TraceCheckUtils]: 42: Hoare triple {5101#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {4936#false} is VALID [2022-04-15 13:47:50,577 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4935#true} {5101#(<= main_~x~0 main_~X~0)} #65#return; {5101#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 13:47:50,577 INFO L290 TraceCheckUtils]: 40: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-15 13:47:50,577 INFO L290 TraceCheckUtils]: 39: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-15 13:47:50,577 INFO L290 TraceCheckUtils]: 38: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-15 13:47:50,577 INFO L272 TraceCheckUtils]: 37: Hoare triple {5101#(<= main_~x~0 main_~X~0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4935#true} is VALID [2022-04-15 13:47:50,591 INFO L290 TraceCheckUtils]: 36: Hoare triple {5101#(<= main_~x~0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5101#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 13:47:50,592 INFO L290 TraceCheckUtils]: 35: Hoare triple {5123#(<= (+ main_~x~0 1) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5101#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 13:47:50,592 INFO L290 TraceCheckUtils]: 34: Hoare triple {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5123#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-15 13:47:50,593 INFO L290 TraceCheckUtils]: 33: Hoare triple {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !!(~x~0 <= ~X~0); {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 13:47:50,593 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4935#true} {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} #65#return; {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 13:47:50,593 INFO L290 TraceCheckUtils]: 31: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-15 13:47:50,593 INFO L290 TraceCheckUtils]: 30: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-15 13:47:50,593 INFO L290 TraceCheckUtils]: 29: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-15 13:47:50,593 INFO L272 TraceCheckUtils]: 28: Hoare triple {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4935#true} is VALID [2022-04-15 13:47:50,594 INFO L290 TraceCheckUtils]: 27: Hoare triple {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 13:47:50,594 INFO L290 TraceCheckUtils]: 26: Hoare triple {5152#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5127#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 13:47:50,595 INFO L290 TraceCheckUtils]: 25: Hoare triple {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {5152#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-15 13:47:50,595 INFO L290 TraceCheckUtils]: 24: Hoare triple {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume !!(~x~0 <= ~X~0); {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-15 13:47:50,595 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4935#true} {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} #65#return; {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-15 13:47:50,596 INFO L290 TraceCheckUtils]: 22: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-15 13:47:50,596 INFO L290 TraceCheckUtils]: 21: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-15 13:47:50,596 INFO L290 TraceCheckUtils]: 20: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-15 13:47:50,596 INFO L272 TraceCheckUtils]: 19: Hoare triple {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {4935#true} is VALID [2022-04-15 13:47:50,596 INFO L290 TraceCheckUtils]: 18: Hoare triple {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-15 13:47:50,597 INFO L290 TraceCheckUtils]: 17: Hoare triple {4935#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5156#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-15 13:47:50,597 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4935#true} {4935#true} #63#return; {4935#true} is VALID [2022-04-15 13:47:50,597 INFO L290 TraceCheckUtils]: 15: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-15 13:47:50,597 INFO L290 TraceCheckUtils]: 14: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-15 13:47:50,597 INFO L290 TraceCheckUtils]: 13: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-15 13:47:50,597 INFO L272 TraceCheckUtils]: 12: Hoare triple {4935#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {4935#true} is VALID [2022-04-15 13:47:50,597 INFO L290 TraceCheckUtils]: 11: Hoare triple {4935#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {4935#true} is VALID [2022-04-15 13:47:50,597 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4935#true} {4935#true} #61#return; {4935#true} is VALID [2022-04-15 13:47:50,597 INFO L290 TraceCheckUtils]: 9: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-15 13:47:50,597 INFO L290 TraceCheckUtils]: 8: Hoare triple {4935#true} assume !(0 == ~cond); {4935#true} is VALID [2022-04-15 13:47:50,597 INFO L290 TraceCheckUtils]: 7: Hoare triple {4935#true} ~cond := #in~cond; {4935#true} is VALID [2022-04-15 13:47:50,597 INFO L272 TraceCheckUtils]: 6: Hoare triple {4935#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {4935#true} is VALID [2022-04-15 13:47:50,597 INFO L290 TraceCheckUtils]: 5: Hoare triple {4935#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {4935#true} is VALID [2022-04-15 13:47:50,597 INFO L272 TraceCheckUtils]: 4: Hoare triple {4935#true} call #t~ret8 := main(); {4935#true} is VALID [2022-04-15 13:47:50,598 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4935#true} {4935#true} #69#return; {4935#true} is VALID [2022-04-15 13:47:50,598 INFO L290 TraceCheckUtils]: 2: Hoare triple {4935#true} assume true; {4935#true} is VALID [2022-04-15 13:47:50,598 INFO L290 TraceCheckUtils]: 1: Hoare triple {4935#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(15, 2);call #Ultimate.allocInit(12, 3); {4935#true} is VALID [2022-04-15 13:47:50,598 INFO L272 TraceCheckUtils]: 0: Hoare triple {4935#true} call ULTIMATE.init(); {4935#true} is VALID [2022-04-15 13:47:50,598 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 6 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 13:47:50,598 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:47:50,598 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2031724873] [2022-04-15 13:47:50,598 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:47:50,598 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1887031967] [2022-04-15 13:47:50,598 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1887031967] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:47:50,598 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:47:50,598 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-15 13:47:50,599 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:47:50,599 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [885554602] [2022-04-15 13:47:50,599 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [885554602] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:47:50,599 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:47:50,599 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-15 13:47:50,599 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1437201060] [2022-04-15 13:47:50,599 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:47:50,599 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-15 13:47:50,599 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:47:50,599 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:47:50,626 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:47:50,626 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-15 13:47:50,626 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:47:50,627 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-15 13:47:50,627 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2022-04-15 13:47:50,627 INFO L87 Difference]: Start difference. First operand 73 states and 80 transitions. Second operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:47:50,972 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:47:50,973 INFO L93 Difference]: Finished difference Result 87 states and 96 transitions. [2022-04-15 13:47:50,973 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-15 13:47:50,973 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-15 13:47:50,973 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:47:50,973 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:47:50,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2022-04-15 13:47:50,974 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:47:50,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2022-04-15 13:47:50,975 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 59 transitions. [2022-04-15 13:47:51,012 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:47:51,013 INFO L225 Difference]: With dead ends: 87 [2022-04-15 13:47:51,013 INFO L226 Difference]: Without dead ends: 79 [2022-04-15 13:47:51,014 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=39, Invalid=93, Unknown=0, NotChecked=0, Total=132 [2022-04-15 13:47:51,014 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 3 mSDsluCounter, 71 mSDsCounter, 0 mSdLazyCounter, 107 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 109 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 107 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 13:47:51,014 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 102 Invalid, 109 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 107 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 13:47:51,014 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-15 13:47:51,124 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 76. [2022-04-15 13:47:51,124 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:47:51,124 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 13:47:51,124 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 13:47:51,124 INFO L87 Difference]: Start difference. First operand 79 states. Second operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 13:47:51,125 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:47:51,126 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-15 13:47:51,126 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-15 13:47:51,126 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:47:51,126 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:47:51,126 INFO L74 IsIncluded]: Start isIncluded. First operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 79 states. [2022-04-15 13:47:51,126 INFO L87 Difference]: Start difference. First operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 79 states. [2022-04-15 13:47:51,128 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:47:51,128 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-15 13:47:51,128 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-15 13:47:51,128 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:47:51,128 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:47:51,128 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:47:51,128 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:47:51,128 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76 states, 54 states have (on average 1.1111111111111112) internal successors, (60), 57 states have internal predecessors, (60), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 13:47:51,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 84 transitions. [2022-04-15 13:47:51,129 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 84 transitions. Word has length 48 [2022-04-15 13:47:51,129 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:47:51,129 INFO L478 AbstractCegarLoop]: Abstraction has 76 states and 84 transitions. [2022-04-15 13:47:51,129 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:47:51,130 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 84 transitions. [2022-04-15 13:47:51,259 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:47:51,260 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 84 transitions. [2022-04-15 13:47:51,260 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-15 13:47:51,260 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:47:51,260 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 13:47:51,276 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-15 13:47:51,460 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-15 13:47:51,461 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:47:51,461 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:47:51,461 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 3 times [2022-04-15 13:47:51,461 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:47:51,461 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [658806628] [2022-04-15 13:47:51,461 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:47:51,462 INFO L85 PathProgramCache]: Analyzing trace with hash -1154259258, now seen corresponding path program 4 times [2022-04-15 13:47:51,462 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:47:51,462 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [925452108] [2022-04-15 13:47:51,462 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:47:51,462 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:47:51,471 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:47:51,471 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1736528095] [2022-04-15 13:47:51,471 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 13:47:51,471 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:47:51,471 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:47:51,472 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:47:51,474 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-15 13:47:51,507 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 13:47:51,507 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:47:51,508 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-15 13:47:51,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:47:51,518 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:47:51,948 INFO L272 TraceCheckUtils]: 0: Hoare triple {5718#true} call ULTIMATE.init(); {5718#true} is VALID [2022-04-15 13:47:51,948 INFO L290 TraceCheckUtils]: 1: Hoare triple {5718#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(15, 2);call #Ultimate.allocInit(12, 3); {5718#true} is VALID [2022-04-15 13:47:51,948 INFO L290 TraceCheckUtils]: 2: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-15 13:47:51,948 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5718#true} {5718#true} #69#return; {5718#true} is VALID [2022-04-15 13:47:51,948 INFO L272 TraceCheckUtils]: 4: Hoare triple {5718#true} call #t~ret8 := main(); {5718#true} is VALID [2022-04-15 13:47:51,948 INFO L290 TraceCheckUtils]: 5: Hoare triple {5718#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {5718#true} is VALID [2022-04-15 13:47:51,948 INFO L272 TraceCheckUtils]: 6: Hoare triple {5718#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {5718#true} is VALID [2022-04-15 13:47:51,949 INFO L290 TraceCheckUtils]: 7: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-15 13:47:51,949 INFO L290 TraceCheckUtils]: 8: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-15 13:47:51,949 INFO L290 TraceCheckUtils]: 9: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-15 13:47:51,949 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5718#true} {5718#true} #61#return; {5718#true} is VALID [2022-04-15 13:47:51,949 INFO L290 TraceCheckUtils]: 11: Hoare triple {5718#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5718#true} is VALID [2022-04-15 13:47:51,949 INFO L272 TraceCheckUtils]: 12: Hoare triple {5718#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {5718#true} is VALID [2022-04-15 13:47:51,949 INFO L290 TraceCheckUtils]: 13: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-15 13:47:51,949 INFO L290 TraceCheckUtils]: 14: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-15 13:47:51,949 INFO L290 TraceCheckUtils]: 15: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-15 13:47:51,949 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5718#true} {5718#true} #63#return; {5718#true} is VALID [2022-04-15 13:47:51,949 INFO L290 TraceCheckUtils]: 17: Hoare triple {5718#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5774#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 13:47:51,950 INFO L290 TraceCheckUtils]: 18: Hoare triple {5774#(and (= main_~x~0 0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5774#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 13:47:51,950 INFO L272 TraceCheckUtils]: 19: Hoare triple {5774#(and (= main_~x~0 0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5718#true} is VALID [2022-04-15 13:47:51,950 INFO L290 TraceCheckUtils]: 20: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-15 13:47:51,950 INFO L290 TraceCheckUtils]: 21: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-15 13:47:51,950 INFO L290 TraceCheckUtils]: 22: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-15 13:47:51,950 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5718#true} {5774#(and (= main_~x~0 0) (= main_~y~0 0))} #65#return; {5774#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 13:47:51,951 INFO L290 TraceCheckUtils]: 24: Hoare triple {5774#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {5774#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-15 13:47:51,951 INFO L290 TraceCheckUtils]: 25: Hoare triple {5774#(and (= main_~x~0 0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5799#(and (= main_~x~0 0) (= main_~y~0 1))} is VALID [2022-04-15 13:47:51,951 INFO L290 TraceCheckUtils]: 26: Hoare triple {5799#(and (= main_~x~0 0) (= main_~y~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5803#(and (= main_~y~0 1) (= main_~x~0 1))} is VALID [2022-04-15 13:47:51,952 INFO L290 TraceCheckUtils]: 27: Hoare triple {5803#(and (= main_~y~0 1) (= main_~x~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5803#(and (= main_~y~0 1) (= main_~x~0 1))} is VALID [2022-04-15 13:47:51,952 INFO L272 TraceCheckUtils]: 28: Hoare triple {5803#(and (= main_~y~0 1) (= main_~x~0 1))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5718#true} is VALID [2022-04-15 13:47:51,952 INFO L290 TraceCheckUtils]: 29: Hoare triple {5718#true} ~cond := #in~cond; {5813#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:47:51,952 INFO L290 TraceCheckUtils]: 30: Hoare triple {5813#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:47:51,953 INFO L290 TraceCheckUtils]: 31: Hoare triple {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:47:51,953 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} {5803#(and (= main_~y~0 1) (= main_~x~0 1))} #65#return; {5803#(and (= main_~y~0 1) (= main_~x~0 1))} is VALID [2022-04-15 13:47:51,953 INFO L290 TraceCheckUtils]: 33: Hoare triple {5803#(and (= main_~y~0 1) (= main_~x~0 1))} assume !!(~x~0 <= ~X~0); {5827#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (= main_~x~0 1))} is VALID [2022-04-15 13:47:51,954 INFO L290 TraceCheckUtils]: 34: Hoare triple {5827#(and (<= main_~x~0 main_~X~0) (= main_~y~0 1) (= main_~x~0 1))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5831#(and (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 1) (= main_~x~0 1))} is VALID [2022-04-15 13:47:51,954 INFO L290 TraceCheckUtils]: 35: Hoare triple {5831#(and (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 1) (= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5835#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 13:47:51,955 INFO L290 TraceCheckUtils]: 36: Hoare triple {5835#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5839#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 13:47:51,955 INFO L272 TraceCheckUtils]: 37: Hoare triple {5839#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5718#true} is VALID [2022-04-15 13:47:51,955 INFO L290 TraceCheckUtils]: 38: Hoare triple {5718#true} ~cond := #in~cond; {5813#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:47:51,955 INFO L290 TraceCheckUtils]: 39: Hoare triple {5813#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:47:51,955 INFO L290 TraceCheckUtils]: 40: Hoare triple {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:47:51,956 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} {5839#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} #65#return; {5855#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 13:47:51,957 INFO L290 TraceCheckUtils]: 42: Hoare triple {5855#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {5859#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 13:47:51,957 INFO L290 TraceCheckUtils]: 43: Hoare triple {5859#(and (= (+ (- 1) main_~x~0) 1) (= (+ (- 1) main_~y~0) 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {5863#(and (= (* main_~y~0 2) main_~xy~0) (= (+ (- 1) main_~y~0) 1) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 6)) (not (<= 2 main_~X~0)))} is VALID [2022-04-15 13:47:51,958 INFO L272 TraceCheckUtils]: 44: Hoare triple {5863#(and (= (* main_~y~0 2) main_~xy~0) (= (+ (- 1) main_~y~0) 1) (= (* main_~Y~0 2) main_~yx~0) (<= 1 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 6)) (not (<= 2 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {5867#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:47:51,959 INFO L290 TraceCheckUtils]: 45: Hoare triple {5867#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5871#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:47:51,959 INFO L290 TraceCheckUtils]: 46: Hoare triple {5871#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5719#false} is VALID [2022-04-15 13:47:51,959 INFO L290 TraceCheckUtils]: 47: Hoare triple {5719#false} assume !false; {5719#false} is VALID [2022-04-15 13:47:51,959 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 10 proven. 13 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-15 13:47:51,959 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:47:52,506 INFO L290 TraceCheckUtils]: 47: Hoare triple {5719#false} assume !false; {5719#false} is VALID [2022-04-15 13:47:52,506 INFO L290 TraceCheckUtils]: 46: Hoare triple {5871#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5719#false} is VALID [2022-04-15 13:47:52,507 INFO L290 TraceCheckUtils]: 45: Hoare triple {5867#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5871#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:47:52,507 INFO L272 TraceCheckUtils]: 44: Hoare triple {5887#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {5867#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:47:52,508 INFO L290 TraceCheckUtils]: 43: Hoare triple {5891#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {5887#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:47:52,509 INFO L290 TraceCheckUtils]: 42: Hoare triple {5895#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {5891#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-15 13:47:52,510 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} {5899#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {5895#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 13:47:52,510 INFO L290 TraceCheckUtils]: 40: Hoare triple {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:47:52,510 INFO L290 TraceCheckUtils]: 39: Hoare triple {5909#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5817#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:47:52,511 INFO L290 TraceCheckUtils]: 38: Hoare triple {5718#true} ~cond := #in~cond; {5909#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 13:47:52,511 INFO L272 TraceCheckUtils]: 37: Hoare triple {5899#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5718#true} is VALID [2022-04-15 13:47:52,511 INFO L290 TraceCheckUtils]: 36: Hoare triple {5916#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5899#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 13:47:52,513 INFO L290 TraceCheckUtils]: 35: Hoare triple {5920#(or (<= (+ main_~x~0 1) main_~X~0) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5916#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 13:47:52,514 INFO L290 TraceCheckUtils]: 34: Hoare triple {5924#(or (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5920#(or (<= (+ main_~x~0 1) main_~X~0) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* (+ main_~x~0 1) main_~Y~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 13:47:52,516 INFO L290 TraceCheckUtils]: 33: Hoare triple {5718#true} assume !!(~x~0 <= ~X~0); {5924#(or (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1))) (* (* main_~X~0 (+ main_~y~0 1)) (- 2))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 13:47:52,516 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5718#true} {5718#true} #65#return; {5718#true} is VALID [2022-04-15 13:47:52,516 INFO L290 TraceCheckUtils]: 31: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-15 13:47:52,516 INFO L290 TraceCheckUtils]: 30: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-15 13:47:52,516 INFO L290 TraceCheckUtils]: 29: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-15 13:47:52,516 INFO L272 TraceCheckUtils]: 28: Hoare triple {5718#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5718#true} is VALID [2022-04-15 13:47:52,516 INFO L290 TraceCheckUtils]: 27: Hoare triple {5718#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5718#true} is VALID [2022-04-15 13:47:52,516 INFO L290 TraceCheckUtils]: 26: Hoare triple {5718#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {5718#true} is VALID [2022-04-15 13:47:52,516 INFO L290 TraceCheckUtils]: 25: Hoare triple {5718#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {5718#true} is VALID [2022-04-15 13:47:52,516 INFO L290 TraceCheckUtils]: 24: Hoare triple {5718#true} assume !!(~x~0 <= ~X~0); {5718#true} is VALID [2022-04-15 13:47:52,516 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5718#true} {5718#true} #65#return; {5718#true} is VALID [2022-04-15 13:47:52,516 INFO L290 TraceCheckUtils]: 22: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-15 13:47:52,516 INFO L290 TraceCheckUtils]: 21: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-15 13:47:52,516 INFO L290 TraceCheckUtils]: 20: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-15 13:47:52,517 INFO L272 TraceCheckUtils]: 19: Hoare triple {5718#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {5718#true} is VALID [2022-04-15 13:47:52,517 INFO L290 TraceCheckUtils]: 18: Hoare triple {5718#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {5718#true} is VALID [2022-04-15 13:47:52,517 INFO L290 TraceCheckUtils]: 17: Hoare triple {5718#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {5718#true} is VALID [2022-04-15 13:47:52,517 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5718#true} {5718#true} #63#return; {5718#true} is VALID [2022-04-15 13:47:52,517 INFO L290 TraceCheckUtils]: 15: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-15 13:47:52,517 INFO L290 TraceCheckUtils]: 14: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-15 13:47:52,517 INFO L290 TraceCheckUtils]: 13: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-15 13:47:52,517 INFO L272 TraceCheckUtils]: 12: Hoare triple {5718#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {5718#true} is VALID [2022-04-15 13:47:52,517 INFO L290 TraceCheckUtils]: 11: Hoare triple {5718#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {5718#true} is VALID [2022-04-15 13:47:52,517 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5718#true} {5718#true} #61#return; {5718#true} is VALID [2022-04-15 13:47:52,517 INFO L290 TraceCheckUtils]: 9: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-15 13:47:52,517 INFO L290 TraceCheckUtils]: 8: Hoare triple {5718#true} assume !(0 == ~cond); {5718#true} is VALID [2022-04-15 13:47:52,517 INFO L290 TraceCheckUtils]: 7: Hoare triple {5718#true} ~cond := #in~cond; {5718#true} is VALID [2022-04-15 13:47:52,517 INFO L272 TraceCheckUtils]: 6: Hoare triple {5718#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {5718#true} is VALID [2022-04-15 13:47:52,517 INFO L290 TraceCheckUtils]: 5: Hoare triple {5718#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {5718#true} is VALID [2022-04-15 13:47:52,517 INFO L272 TraceCheckUtils]: 4: Hoare triple {5718#true} call #t~ret8 := main(); {5718#true} is VALID [2022-04-15 13:47:52,517 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5718#true} {5718#true} #69#return; {5718#true} is VALID [2022-04-15 13:47:52,517 INFO L290 TraceCheckUtils]: 2: Hoare triple {5718#true} assume true; {5718#true} is VALID [2022-04-15 13:47:52,518 INFO L290 TraceCheckUtils]: 1: Hoare triple {5718#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(15, 2);call #Ultimate.allocInit(12, 3); {5718#true} is VALID [2022-04-15 13:47:52,518 INFO L272 TraceCheckUtils]: 0: Hoare triple {5718#true} call ULTIMATE.init(); {5718#true} is VALID [2022-04-15 13:47:52,518 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 19 proven. 1 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 13:47:52,518 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:47:52,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [925452108] [2022-04-15 13:47:52,518 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:47:52,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1736528095] [2022-04-15 13:47:52,518 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1736528095] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:47:52,518 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:47:52,518 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13] total 24 [2022-04-15 13:47:52,518 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:47:52,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [658806628] [2022-04-15 13:47:52,519 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [658806628] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:47:52,519 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:47:52,519 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 13:47:52,519 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [856372379] [2022-04-15 13:47:52,519 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:47:52,519 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-15 13:47:52,519 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:47:52,519 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:47:52,557 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:47:52,557 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 13:47:52,557 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:47:52,557 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 13:47:52,557 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=475, Unknown=0, NotChecked=0, Total=552 [2022-04-15 13:47:52,558 INFO L87 Difference]: Start difference. First operand 76 states and 84 transitions. Second operand has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:47:53,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:47:53,438 INFO L93 Difference]: Finished difference Result 87 states and 96 transitions. [2022-04-15 13:47:53,439 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 13:47:53,439 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 48 [2022-04-15 13:47:53,439 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:47:53,439 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:47:53,440 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 61 transitions. [2022-04-15 13:47:53,440 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:47:53,440 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 61 transitions. [2022-04-15 13:47:53,440 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 61 transitions. [2022-04-15 13:47:53,486 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:47:53,487 INFO L225 Difference]: With dead ends: 87 [2022-04-15 13:47:53,487 INFO L226 Difference]: Without dead ends: 79 [2022-04-15 13:47:53,488 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 72 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 118 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=119, Invalid=693, Unknown=0, NotChecked=0, Total=812 [2022-04-15 13:47:53,488 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 20 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 320 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 211 SdHoareTripleChecker+Invalid, 326 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 320 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 13:47:53,488 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 211 Invalid, 326 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 320 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 13:47:53,489 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-15 13:47:53,598 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 73. [2022-04-15 13:47:53,599 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:47:53,599 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 13:47:53,599 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 13:47:53,599 INFO L87 Difference]: Start difference. First operand 79 states. Second operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 13:47:53,600 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:47:53,600 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-15 13:47:53,601 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-15 13:47:53,601 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:47:53,601 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:47:53,601 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 79 states. [2022-04-15 13:47:53,601 INFO L87 Difference]: Start difference. First operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) Second operand 79 states. [2022-04-15 13:47:53,602 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:47:53,602 INFO L93 Difference]: Finished difference Result 79 states and 88 transitions. [2022-04-15 13:47:53,602 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 88 transitions. [2022-04-15 13:47:53,602 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:47:53,602 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:47:53,602 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:47:53,603 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:47:53,603 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 52 states have (on average 1.1153846153846154) internal successors, (58), 54 states have internal predecessors, (58), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 9 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 13:47:53,604 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 80 transitions. [2022-04-15 13:47:53,604 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 80 transitions. Word has length 48 [2022-04-15 13:47:53,604 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:47:53,604 INFO L478 AbstractCegarLoop]: Abstraction has 73 states and 80 transitions. [2022-04-15 13:47:53,604 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.0) internal successors, (28), 14 states have internal predecessors, (28), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:47:53,604 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 80 transitions. [2022-04-15 13:47:53,751 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:47:53,751 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 80 transitions. [2022-04-15 13:47:53,751 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 13:47:53,751 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:47:53,751 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 13:47:53,767 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-15 13:47:53,952 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-15 13:47:53,952 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:47:53,952 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:47:53,952 INFO L85 PathProgramCache]: Analyzing trace with hash -463038031, now seen corresponding path program 5 times [2022-04-15 13:47:53,952 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:47:53,952 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [569179473] [2022-04-15 13:47:53,953 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:47:53,953 INFO L85 PathProgramCache]: Analyzing trace with hash -463038031, now seen corresponding path program 6 times [2022-04-15 13:47:53,953 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:47:53,953 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [476180477] [2022-04-15 13:47:53,953 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:47:53,953 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:47:53,961 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:47:53,961 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1969425115] [2022-04-15 13:47:53,961 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 13:47:53,961 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:47:53,961 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:47:53,962 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:47:53,963 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-15 13:47:53,998 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 13:47:53,998 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:47:53,999 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-15 13:47:54,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:47:54,009 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:48:00,835 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:48:05,571 INFO L272 TraceCheckUtils]: 0: Hoare triple {6517#true} call ULTIMATE.init(); {6517#true} is VALID [2022-04-15 13:48:05,571 INFO L290 TraceCheckUtils]: 1: Hoare triple {6517#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(15, 2);call #Ultimate.allocInit(12, 3); {6517#true} is VALID [2022-04-15 13:48:05,571 INFO L290 TraceCheckUtils]: 2: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-15 13:48:05,571 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6517#true} {6517#true} #69#return; {6517#true} is VALID [2022-04-15 13:48:05,571 INFO L272 TraceCheckUtils]: 4: Hoare triple {6517#true} call #t~ret8 := main(); {6517#true} is VALID [2022-04-15 13:48:05,571 INFO L290 TraceCheckUtils]: 5: Hoare triple {6517#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {6517#true} is VALID [2022-04-15 13:48:05,571 INFO L272 TraceCheckUtils]: 6: Hoare triple {6517#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {6517#true} is VALID [2022-04-15 13:48:05,571 INFO L290 TraceCheckUtils]: 7: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-15 13:48:05,572 INFO L290 TraceCheckUtils]: 8: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-15 13:48:05,572 INFO L290 TraceCheckUtils]: 9: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-15 13:48:05,572 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6517#true} {6517#true} #61#return; {6517#true} is VALID [2022-04-15 13:48:05,572 INFO L290 TraceCheckUtils]: 11: Hoare triple {6517#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {6517#true} is VALID [2022-04-15 13:48:05,572 INFO L272 TraceCheckUtils]: 12: Hoare triple {6517#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {6517#true} is VALID [2022-04-15 13:48:05,572 INFO L290 TraceCheckUtils]: 13: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-15 13:48:05,572 INFO L290 TraceCheckUtils]: 14: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-15 13:48:05,572 INFO L290 TraceCheckUtils]: 15: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-15 13:48:05,572 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6517#true} {6517#true} #63#return; {6517#true} is VALID [2022-04-15 13:48:05,572 INFO L290 TraceCheckUtils]: 17: Hoare triple {6517#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6573#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 13:48:05,573 INFO L290 TraceCheckUtils]: 18: Hoare triple {6573#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6573#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 13:48:05,573 INFO L272 TraceCheckUtils]: 19: Hoare triple {6573#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6517#true} is VALID [2022-04-15 13:48:05,573 INFO L290 TraceCheckUtils]: 20: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-15 13:48:05,573 INFO L290 TraceCheckUtils]: 21: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-15 13:48:05,573 INFO L290 TraceCheckUtils]: 22: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-15 13:48:05,574 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6517#true} {6573#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {6573#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 13:48:05,574 INFO L290 TraceCheckUtils]: 24: Hoare triple {6573#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {6573#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 13:48:05,575 INFO L290 TraceCheckUtils]: 25: Hoare triple {6573#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-15 13:48:05,575 INFO L290 TraceCheckUtils]: 26: Hoare triple {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-15 13:48:05,575 INFO L290 TraceCheckUtils]: 27: Hoare triple {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-15 13:48:05,575 INFO L272 TraceCheckUtils]: 28: Hoare triple {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6517#true} is VALID [2022-04-15 13:48:05,575 INFO L290 TraceCheckUtils]: 29: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-15 13:48:05,576 INFO L290 TraceCheckUtils]: 30: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-15 13:48:05,576 INFO L290 TraceCheckUtils]: 31: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-15 13:48:05,576 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6517#true} {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} #65#return; {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-15 13:48:05,576 INFO L290 TraceCheckUtils]: 33: Hoare triple {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} is VALID [2022-04-15 13:48:05,577 INFO L290 TraceCheckUtils]: 34: Hoare triple {6598#(and (= main_~y~0 0) (= (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (* main_~Y~0 2)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6626#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:48:05,577 INFO L290 TraceCheckUtils]: 35: Hoare triple {6626#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6626#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:48:05,578 INFO L290 TraceCheckUtils]: 36: Hoare triple {6626#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6633#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 13:48:05,578 INFO L272 TraceCheckUtils]: 37: Hoare triple {6633#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6517#true} is VALID [2022-04-15 13:48:05,578 INFO L290 TraceCheckUtils]: 38: Hoare triple {6517#true} ~cond := #in~cond; {6640#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:48:05,578 INFO L290 TraceCheckUtils]: 39: Hoare triple {6640#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:48:05,579 INFO L290 TraceCheckUtils]: 40: Hoare triple {6644#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:48:05,584 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6644#(not (= |__VERIFIER_assert_#in~cond| 0))} {6633#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {6651#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-15 13:48:05,585 INFO L290 TraceCheckUtils]: 42: Hoare triple {6651#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {6651#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-15 13:48:05,585 INFO L290 TraceCheckUtils]: 43: Hoare triple {6651#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6658#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 6))) (= main_~y~0 0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-15 13:48:05,587 INFO L290 TraceCheckUtils]: 44: Hoare triple {6658#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 6))) (= main_~y~0 0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6662#(and (= main_~y~0 0) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-15 13:48:05,589 INFO L290 TraceCheckUtils]: 45: Hoare triple {6662#(and (= main_~y~0 0) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6666#(and (= main_~xy~0 0) (= (* main_~Y~0 (div (* main_~Y~0 3) main_~Y~0)) main_~yx~0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} is VALID [2022-04-15 13:48:05,591 INFO L272 TraceCheckUtils]: 46: Hoare triple {6666#(and (= main_~xy~0 0) (= (* main_~Y~0 (div (* main_~Y~0 3) main_~Y~0)) main_~yx~0) (= main_~v~0 (+ (* main_~Y~0 8) (* (- 1) main_~X~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6670#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:48:05,592 INFO L290 TraceCheckUtils]: 47: Hoare triple {6670#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6674#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:48:05,592 INFO L290 TraceCheckUtils]: 48: Hoare triple {6674#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6518#false} is VALID [2022-04-15 13:48:05,592 INFO L290 TraceCheckUtils]: 49: Hoare triple {6518#false} assume !false; {6518#false} is VALID [2022-04-15 13:48:05,592 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 11 proven. 22 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-15 13:48:05,592 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:48:09,822 INFO L290 TraceCheckUtils]: 49: Hoare triple {6518#false} assume !false; {6518#false} is VALID [2022-04-15 13:48:09,822 INFO L290 TraceCheckUtils]: 48: Hoare triple {6674#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6518#false} is VALID [2022-04-15 13:48:09,822 INFO L290 TraceCheckUtils]: 47: Hoare triple {6670#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6674#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:48:09,823 INFO L272 TraceCheckUtils]: 46: Hoare triple {6690#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6670#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:48:09,824 INFO L290 TraceCheckUtils]: 45: Hoare triple {6694#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6690#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 13:48:09,826 INFO L290 TraceCheckUtils]: 44: Hoare triple {6698#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6694#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:48:09,826 INFO L290 TraceCheckUtils]: 43: Hoare triple {6694#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6698#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 13:48:09,832 INFO L290 TraceCheckUtils]: 42: Hoare triple {6694#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {6694#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:48:09,833 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6644#(not (= |__VERIFIER_assert_#in~cond| 0))} {6708#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {6694#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:48:09,833 INFO L290 TraceCheckUtils]: 40: Hoare triple {6644#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:48:09,833 INFO L290 TraceCheckUtils]: 39: Hoare triple {6718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:48:09,834 INFO L290 TraceCheckUtils]: 38: Hoare triple {6517#true} ~cond := #in~cond; {6718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 13:48:09,834 INFO L272 TraceCheckUtils]: 37: Hoare triple {6708#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6517#true} is VALID [2022-04-15 13:48:09,835 INFO L290 TraceCheckUtils]: 36: Hoare triple {6517#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6708#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-15 13:48:09,835 INFO L290 TraceCheckUtils]: 35: Hoare triple {6517#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6517#true} is VALID [2022-04-15 13:48:09,835 INFO L290 TraceCheckUtils]: 34: Hoare triple {6517#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6517#true} is VALID [2022-04-15 13:48:09,835 INFO L290 TraceCheckUtils]: 33: Hoare triple {6517#true} assume !!(~x~0 <= ~X~0); {6517#true} is VALID [2022-04-15 13:48:09,835 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6517#true} {6517#true} #65#return; {6517#true} is VALID [2022-04-15 13:48:09,835 INFO L290 TraceCheckUtils]: 31: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-15 13:48:09,835 INFO L290 TraceCheckUtils]: 30: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-15 13:48:09,835 INFO L290 TraceCheckUtils]: 29: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-15 13:48:09,835 INFO L272 TraceCheckUtils]: 28: Hoare triple {6517#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6517#true} is VALID [2022-04-15 13:48:09,835 INFO L290 TraceCheckUtils]: 27: Hoare triple {6517#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6517#true} is VALID [2022-04-15 13:48:09,835 INFO L290 TraceCheckUtils]: 26: Hoare triple {6517#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {6517#true} is VALID [2022-04-15 13:48:09,835 INFO L290 TraceCheckUtils]: 25: Hoare triple {6517#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {6517#true} is VALID [2022-04-15 13:48:09,835 INFO L290 TraceCheckUtils]: 24: Hoare triple {6517#true} assume !!(~x~0 <= ~X~0); {6517#true} is VALID [2022-04-15 13:48:09,835 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6517#true} {6517#true} #65#return; {6517#true} is VALID [2022-04-15 13:48:09,835 INFO L290 TraceCheckUtils]: 22: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-15 13:48:09,835 INFO L290 TraceCheckUtils]: 21: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-15 13:48:09,836 INFO L290 TraceCheckUtils]: 20: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-15 13:48:09,836 INFO L272 TraceCheckUtils]: 19: Hoare triple {6517#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {6517#true} is VALID [2022-04-15 13:48:09,836 INFO L290 TraceCheckUtils]: 18: Hoare triple {6517#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {6517#true} is VALID [2022-04-15 13:48:09,836 INFO L290 TraceCheckUtils]: 17: Hoare triple {6517#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {6517#true} is VALID [2022-04-15 13:48:09,836 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6517#true} {6517#true} #63#return; {6517#true} is VALID [2022-04-15 13:48:09,836 INFO L290 TraceCheckUtils]: 15: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-15 13:48:09,836 INFO L290 TraceCheckUtils]: 14: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-15 13:48:09,836 INFO L290 TraceCheckUtils]: 13: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-15 13:48:09,836 INFO L272 TraceCheckUtils]: 12: Hoare triple {6517#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {6517#true} is VALID [2022-04-15 13:48:09,836 INFO L290 TraceCheckUtils]: 11: Hoare triple {6517#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {6517#true} is VALID [2022-04-15 13:48:09,836 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6517#true} {6517#true} #61#return; {6517#true} is VALID [2022-04-15 13:48:09,836 INFO L290 TraceCheckUtils]: 9: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-15 13:48:09,836 INFO L290 TraceCheckUtils]: 8: Hoare triple {6517#true} assume !(0 == ~cond); {6517#true} is VALID [2022-04-15 13:48:09,836 INFO L290 TraceCheckUtils]: 7: Hoare triple {6517#true} ~cond := #in~cond; {6517#true} is VALID [2022-04-15 13:48:09,836 INFO L272 TraceCheckUtils]: 6: Hoare triple {6517#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {6517#true} is VALID [2022-04-15 13:48:09,836 INFO L290 TraceCheckUtils]: 5: Hoare triple {6517#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {6517#true} is VALID [2022-04-15 13:48:09,836 INFO L272 TraceCheckUtils]: 4: Hoare triple {6517#true} call #t~ret8 := main(); {6517#true} is VALID [2022-04-15 13:48:09,836 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6517#true} {6517#true} #69#return; {6517#true} is VALID [2022-04-15 13:48:09,836 INFO L290 TraceCheckUtils]: 2: Hoare triple {6517#true} assume true; {6517#true} is VALID [2022-04-15 13:48:09,837 INFO L290 TraceCheckUtils]: 1: Hoare triple {6517#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(15, 2);call #Ultimate.allocInit(12, 3); {6517#true} is VALID [2022-04-15 13:48:09,837 INFO L272 TraceCheckUtils]: 0: Hoare triple {6517#true} call ULTIMATE.init(); {6517#true} is VALID [2022-04-15 13:48:09,837 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-15 13:48:09,837 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:48:09,837 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [476180477] [2022-04-15 13:48:09,837 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:48:09,837 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1969425115] [2022-04-15 13:48:09,837 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1969425115] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:48:09,837 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:48:09,837 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 10] total 19 [2022-04-15 13:48:09,837 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:48:09,837 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [569179473] [2022-04-15 13:48:09,837 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [569179473] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:48:09,838 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:48:09,838 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 13:48:09,838 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1175916700] [2022-04-15 13:48:09,838 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:48:09,838 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 13:48:09,838 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:48:09,838 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:48:09,876 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:48:09,876 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 13:48:09,876 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:48:09,876 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 13:48:09,876 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=293, Unknown=0, NotChecked=0, Total=342 [2022-04-15 13:48:09,876 INFO L87 Difference]: Start difference. First operand 73 states and 80 transitions. Second operand has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:48:11,041 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:48:11,042 INFO L93 Difference]: Finished difference Result 88 states and 98 transitions. [2022-04-15 13:48:11,042 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 13:48:11,042 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 13:48:11,042 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:48:11,042 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:48:11,043 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 65 transitions. [2022-04-15 13:48:11,043 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:48:11,044 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 65 transitions. [2022-04-15 13:48:11,044 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 65 transitions. [2022-04-15 13:48:11,109 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:48:11,110 INFO L225 Difference]: With dead ends: 88 [2022-04-15 13:48:11,110 INFO L226 Difference]: Without dead ends: 84 [2022-04-15 13:48:11,111 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 80 SyntacticMatches, 2 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=77, Invalid=429, Unknown=0, NotChecked=0, Total=506 [2022-04-15 13:48:11,111 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 18 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 352 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 182 SdHoareTripleChecker+Invalid, 360 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 352 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 13:48:11,111 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 182 Invalid, 360 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 352 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 13:48:11,111 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-15 13:48:11,222 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 75. [2022-04-15 13:48:11,222 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:48:11,222 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 13:48:11,222 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 13:48:11,222 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 13:48:11,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:48:11,224 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-15 13:48:11,224 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-15 13:48:11,224 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:48:11,224 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:48:11,224 INFO L74 IsIncluded]: Start isIncluded. First operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 84 states. [2022-04-15 13:48:11,224 INFO L87 Difference]: Start difference. First operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 84 states. [2022-04-15 13:48:11,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:48:11,225 INFO L93 Difference]: Finished difference Result 84 states and 93 transitions. [2022-04-15 13:48:11,226 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 93 transitions. [2022-04-15 13:48:11,226 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:48:11,226 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:48:11,226 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:48:11,226 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:48:11,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 75 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 55 states have internal predecessors, (61), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-15 13:48:11,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 83 transitions. [2022-04-15 13:48:11,227 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 83 transitions. Word has length 50 [2022-04-15 13:48:11,227 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:48:11,227 INFO L478 AbstractCegarLoop]: Abstraction has 75 states and 83 transitions. [2022-04-15 13:48:11,227 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:48:11,227 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 75 states and 83 transitions. [2022-04-15 13:48:11,370 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:48:11,371 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 83 transitions. [2022-04-15 13:48:11,371 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 13:48:11,371 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:48:11,371 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 13:48:11,388 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-15 13:48:11,571 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-15 13:48:11,572 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:48:11,572 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:48:11,572 INFO L85 PathProgramCache]: Analyzing trace with hash 1311969331, now seen corresponding path program 5 times [2022-04-15 13:48:11,572 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:48:11,572 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [619932361] [2022-04-15 13:48:11,573 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:48:11,573 INFO L85 PathProgramCache]: Analyzing trace with hash 1311969331, now seen corresponding path program 6 times [2022-04-15 13:48:11,573 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:48:11,573 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1233125231] [2022-04-15 13:48:11,573 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:48:11,573 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:48:11,581 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:48:11,581 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1541626013] [2022-04-15 13:48:11,581 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 13:48:11,581 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:48:11,581 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:48:11,582 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:48:11,583 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-15 13:48:11,622 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 13:48:11,623 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:48:11,623 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-15 13:48:11,635 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:48:11,636 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:48:33,669 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:48:37,400 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:48:47,074 INFO L272 TraceCheckUtils]: 0: Hoare triple {7337#true} call ULTIMATE.init(); {7337#true} is VALID [2022-04-15 13:48:47,075 INFO L290 TraceCheckUtils]: 1: Hoare triple {7337#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(15, 2);call #Ultimate.allocInit(12, 3); {7337#true} is VALID [2022-04-15 13:48:47,075 INFO L290 TraceCheckUtils]: 2: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-15 13:48:47,075 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7337#true} {7337#true} #69#return; {7337#true} is VALID [2022-04-15 13:48:47,075 INFO L272 TraceCheckUtils]: 4: Hoare triple {7337#true} call #t~ret8 := main(); {7337#true} is VALID [2022-04-15 13:48:47,075 INFO L290 TraceCheckUtils]: 5: Hoare triple {7337#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {7337#true} is VALID [2022-04-15 13:48:47,075 INFO L272 TraceCheckUtils]: 6: Hoare triple {7337#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {7337#true} is VALID [2022-04-15 13:48:47,075 INFO L290 TraceCheckUtils]: 7: Hoare triple {7337#true} ~cond := #in~cond; {7337#true} is VALID [2022-04-15 13:48:47,075 INFO L290 TraceCheckUtils]: 8: Hoare triple {7337#true} assume !(0 == ~cond); {7337#true} is VALID [2022-04-15 13:48:47,075 INFO L290 TraceCheckUtils]: 9: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-15 13:48:47,075 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7337#true} {7337#true} #61#return; {7337#true} is VALID [2022-04-15 13:48:47,075 INFO L290 TraceCheckUtils]: 11: Hoare triple {7337#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {7337#true} is VALID [2022-04-15 13:48:47,075 INFO L272 TraceCheckUtils]: 12: Hoare triple {7337#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {7337#true} is VALID [2022-04-15 13:48:47,075 INFO L290 TraceCheckUtils]: 13: Hoare triple {7337#true} ~cond := #in~cond; {7337#true} is VALID [2022-04-15 13:48:47,075 INFO L290 TraceCheckUtils]: 14: Hoare triple {7337#true} assume !(0 == ~cond); {7337#true} is VALID [2022-04-15 13:48:47,075 INFO L290 TraceCheckUtils]: 15: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-15 13:48:47,075 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7337#true} {7337#true} #63#return; {7337#true} is VALID [2022-04-15 13:48:47,076 INFO L290 TraceCheckUtils]: 17: Hoare triple {7337#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {7393#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 13:48:47,076 INFO L290 TraceCheckUtils]: 18: Hoare triple {7393#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7393#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 13:48:47,076 INFO L272 TraceCheckUtils]: 19: Hoare triple {7393#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7337#true} is VALID [2022-04-15 13:48:47,076 INFO L290 TraceCheckUtils]: 20: Hoare triple {7337#true} ~cond := #in~cond; {7337#true} is VALID [2022-04-15 13:48:47,076 INFO L290 TraceCheckUtils]: 21: Hoare triple {7337#true} assume !(0 == ~cond); {7337#true} is VALID [2022-04-15 13:48:47,076 INFO L290 TraceCheckUtils]: 22: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-15 13:48:47,077 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7337#true} {7393#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {7393#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 13:48:47,077 INFO L290 TraceCheckUtils]: 24: Hoare triple {7393#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {7393#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 13:48:47,078 INFO L290 TraceCheckUtils]: 25: Hoare triple {7393#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7418#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-15 13:48:47,078 INFO L290 TraceCheckUtils]: 26: Hoare triple {7418#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7418#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-15 13:48:49,080 WARN L290 TraceCheckUtils]: 27: Hoare triple {7418#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7425#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} is UNKNOWN [2022-04-15 13:48:49,080 INFO L272 TraceCheckUtils]: 28: Hoare triple {7425#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7337#true} is VALID [2022-04-15 13:48:49,081 INFO L290 TraceCheckUtils]: 29: Hoare triple {7337#true} ~cond := #in~cond; {7432#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:48:49,081 INFO L290 TraceCheckUtils]: 30: Hoare triple {7432#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:48:49,081 INFO L290 TraceCheckUtils]: 31: Hoare triple {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:48:49,082 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} {7425#(and (or (and (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (= main_~yx~0 0)) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} #65#return; {7418#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-15 13:48:49,082 INFO L290 TraceCheckUtils]: 33: Hoare triple {7418#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {7418#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-15 13:48:49,083 INFO L290 TraceCheckUtils]: 34: Hoare triple {7418#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7449#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:48:49,083 INFO L290 TraceCheckUtils]: 35: Hoare triple {7449#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7449#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:48:49,084 INFO L290 TraceCheckUtils]: 36: Hoare triple {7449#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7456#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 13:48:49,084 INFO L272 TraceCheckUtils]: 37: Hoare triple {7456#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7337#true} is VALID [2022-04-15 13:48:49,084 INFO L290 TraceCheckUtils]: 38: Hoare triple {7337#true} ~cond := #in~cond; {7432#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:48:49,084 INFO L290 TraceCheckUtils]: 39: Hoare triple {7432#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:48:49,084 INFO L290 TraceCheckUtils]: 40: Hoare triple {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:48:49,085 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} {7456#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {7472#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-15 13:48:49,086 INFO L290 TraceCheckUtils]: 42: Hoare triple {7472#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {7472#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-15 13:48:49,087 INFO L290 TraceCheckUtils]: 43: Hoare triple {7472#(and (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) main_~v~0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {7479#(and (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 main_~x~0 2) main_~X~0 (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 6))))} is VALID [2022-04-15 13:48:49,090 INFO L290 TraceCheckUtils]: 44: Hoare triple {7479#(and (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 main_~x~0 2) main_~X~0 (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 6))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7483#(and (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) (+ main_~X~0 (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2))))} is VALID [2022-04-15 13:48:49,095 INFO L290 TraceCheckUtils]: 45: Hoare triple {7483#(and (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) (+ main_~X~0 (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7487#(and (or (and (= (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0) (not (= main_~Y~0 0)) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) (+ (* (- 1) main_~X~0) (* main_~Y~0 2 (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) (- 1))) (* main_~Y~0 2))))) (= main_~X~0 main_~xy~0))} is VALID [2022-04-15 13:48:49,097 INFO L272 TraceCheckUtils]: 46: Hoare triple {7487#(and (or (and (= (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) 0) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= main_~Y~0 0)) (and (= (mod (+ main_~X~0 main_~v~0) 2) 0) (= (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0) (not (= main_~Y~0 0)) (= (mod (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 6)) (+ (* (- 1) main_~X~0) (* main_~Y~0 2 (+ (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) (- 1))) (* main_~Y~0 2))))) (= main_~X~0 main_~xy~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7491#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:48:49,097 INFO L290 TraceCheckUtils]: 47: Hoare triple {7491#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7495#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:48:49,097 INFO L290 TraceCheckUtils]: 48: Hoare triple {7495#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7338#false} is VALID [2022-04-15 13:48:49,097 INFO L290 TraceCheckUtils]: 49: Hoare triple {7338#false} assume !false; {7338#false} is VALID [2022-04-15 13:48:49,098 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 10 proven. 23 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-15 13:48:49,098 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:48:53,658 INFO L290 TraceCheckUtils]: 49: Hoare triple {7338#false} assume !false; {7338#false} is VALID [2022-04-15 13:48:53,658 INFO L290 TraceCheckUtils]: 48: Hoare triple {7495#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7338#false} is VALID [2022-04-15 13:48:53,659 INFO L290 TraceCheckUtils]: 47: Hoare triple {7491#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7495#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:48:53,659 INFO L272 TraceCheckUtils]: 46: Hoare triple {7511#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7491#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:48:53,660 INFO L290 TraceCheckUtils]: 45: Hoare triple {7515#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7511#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 13:48:53,662 INFO L290 TraceCheckUtils]: 44: Hoare triple {7519#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7515#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:48:53,663 INFO L290 TraceCheckUtils]: 43: Hoare triple {7515#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {7519#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 13:48:53,664 INFO L290 TraceCheckUtils]: 42: Hoare triple {7515#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {7515#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:48:53,664 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} {7529#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {7515#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:48:53,665 INFO L290 TraceCheckUtils]: 40: Hoare triple {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:48:53,665 INFO L290 TraceCheckUtils]: 39: Hoare triple {7539#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7436#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:48:53,665 INFO L290 TraceCheckUtils]: 38: Hoare triple {7337#true} ~cond := #in~cond; {7539#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 13:48:53,665 INFO L272 TraceCheckUtils]: 37: Hoare triple {7529#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7337#true} is VALID [2022-04-15 13:48:53,666 INFO L290 TraceCheckUtils]: 36: Hoare triple {7337#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7529#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-15 13:48:53,666 INFO L290 TraceCheckUtils]: 35: Hoare triple {7337#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7337#true} is VALID [2022-04-15 13:48:53,666 INFO L290 TraceCheckUtils]: 34: Hoare triple {7337#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7337#true} is VALID [2022-04-15 13:48:53,666 INFO L290 TraceCheckUtils]: 33: Hoare triple {7337#true} assume !!(~x~0 <= ~X~0); {7337#true} is VALID [2022-04-15 13:48:53,666 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7337#true} {7337#true} #65#return; {7337#true} is VALID [2022-04-15 13:48:53,666 INFO L290 TraceCheckUtils]: 31: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-15 13:48:53,666 INFO L290 TraceCheckUtils]: 30: Hoare triple {7337#true} assume !(0 == ~cond); {7337#true} is VALID [2022-04-15 13:48:53,666 INFO L290 TraceCheckUtils]: 29: Hoare triple {7337#true} ~cond := #in~cond; {7337#true} is VALID [2022-04-15 13:48:53,666 INFO L272 TraceCheckUtils]: 28: Hoare triple {7337#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7337#true} is VALID [2022-04-15 13:48:53,666 INFO L290 TraceCheckUtils]: 27: Hoare triple {7337#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7337#true} is VALID [2022-04-15 13:48:53,666 INFO L290 TraceCheckUtils]: 26: Hoare triple {7337#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {7337#true} is VALID [2022-04-15 13:48:53,667 INFO L290 TraceCheckUtils]: 25: Hoare triple {7337#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {7337#true} is VALID [2022-04-15 13:48:53,667 INFO L290 TraceCheckUtils]: 24: Hoare triple {7337#true} assume !!(~x~0 <= ~X~0); {7337#true} is VALID [2022-04-15 13:48:53,667 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7337#true} {7337#true} #65#return; {7337#true} is VALID [2022-04-15 13:48:53,667 INFO L290 TraceCheckUtils]: 22: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-15 13:48:53,667 INFO L290 TraceCheckUtils]: 21: Hoare triple {7337#true} assume !(0 == ~cond); {7337#true} is VALID [2022-04-15 13:48:53,667 INFO L290 TraceCheckUtils]: 20: Hoare triple {7337#true} ~cond := #in~cond; {7337#true} is VALID [2022-04-15 13:48:53,667 INFO L272 TraceCheckUtils]: 19: Hoare triple {7337#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {7337#true} is VALID [2022-04-15 13:48:53,667 INFO L290 TraceCheckUtils]: 18: Hoare triple {7337#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {7337#true} is VALID [2022-04-15 13:48:53,667 INFO L290 TraceCheckUtils]: 17: Hoare triple {7337#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {7337#true} is VALID [2022-04-15 13:48:53,667 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7337#true} {7337#true} #63#return; {7337#true} is VALID [2022-04-15 13:48:53,667 INFO L290 TraceCheckUtils]: 15: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-15 13:48:53,667 INFO L290 TraceCheckUtils]: 14: Hoare triple {7337#true} assume !(0 == ~cond); {7337#true} is VALID [2022-04-15 13:48:53,667 INFO L290 TraceCheckUtils]: 13: Hoare triple {7337#true} ~cond := #in~cond; {7337#true} is VALID [2022-04-15 13:48:53,667 INFO L272 TraceCheckUtils]: 12: Hoare triple {7337#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {7337#true} is VALID [2022-04-15 13:48:53,667 INFO L290 TraceCheckUtils]: 11: Hoare triple {7337#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {7337#true} is VALID [2022-04-15 13:48:53,667 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7337#true} {7337#true} #61#return; {7337#true} is VALID [2022-04-15 13:48:53,667 INFO L290 TraceCheckUtils]: 9: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-15 13:48:53,667 INFO L290 TraceCheckUtils]: 8: Hoare triple {7337#true} assume !(0 == ~cond); {7337#true} is VALID [2022-04-15 13:48:53,667 INFO L290 TraceCheckUtils]: 7: Hoare triple {7337#true} ~cond := #in~cond; {7337#true} is VALID [2022-04-15 13:48:53,668 INFO L272 TraceCheckUtils]: 6: Hoare triple {7337#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {7337#true} is VALID [2022-04-15 13:48:53,668 INFO L290 TraceCheckUtils]: 5: Hoare triple {7337#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {7337#true} is VALID [2022-04-15 13:48:53,668 INFO L272 TraceCheckUtils]: 4: Hoare triple {7337#true} call #t~ret8 := main(); {7337#true} is VALID [2022-04-15 13:48:53,668 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7337#true} {7337#true} #69#return; {7337#true} is VALID [2022-04-15 13:48:53,668 INFO L290 TraceCheckUtils]: 2: Hoare triple {7337#true} assume true; {7337#true} is VALID [2022-04-15 13:48:53,668 INFO L290 TraceCheckUtils]: 1: Hoare triple {7337#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(15, 2);call #Ultimate.allocInit(12, 3); {7337#true} is VALID [2022-04-15 13:48:53,668 INFO L272 TraceCheckUtils]: 0: Hoare triple {7337#true} call ULTIMATE.init(); {7337#true} is VALID [2022-04-15 13:48:53,668 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-15 13:48:53,668 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:48:53,668 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1233125231] [2022-04-15 13:48:53,668 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:48:53,668 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1541626013] [2022-04-15 13:48:53,668 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1541626013] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:48:53,668 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:48:53,668 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 10] total 20 [2022-04-15 13:48:53,669 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:48:53,669 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [619932361] [2022-04-15 13:48:53,669 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [619932361] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:48:53,669 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:48:53,669 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-15 13:48:53,669 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1533022932] [2022-04-15 13:48:53,669 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:48:53,669 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 13:48:53,669 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:48:53,669 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:48:55,719 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 43 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 13:48:55,719 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-15 13:48:55,720 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:48:55,720 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-15 13:48:55,720 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=328, Unknown=0, NotChecked=0, Total=380 [2022-04-15 13:48:55,720 INFO L87 Difference]: Start difference. First operand 75 states and 83 transitions. Second operand has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:48:57,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:48:57,898 INFO L93 Difference]: Finished difference Result 88 states and 98 transitions. [2022-04-15 13:48:57,898 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 13:48:57,898 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 13:48:57,899 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:48:57,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:48:57,899 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-15 13:48:57,900 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:48:57,900 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-15 13:48:57,900 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 65 transitions. [2022-04-15 13:48:59,972 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 64 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 13:48:59,973 INFO L225 Difference]: With dead ends: 88 [2022-04-15 13:48:59,973 INFO L226 Difference]: Without dead ends: 86 [2022-04-15 13:48:59,973 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 78 SyntacticMatches, 3 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=80, Invalid=472, Unknown=0, NotChecked=0, Total=552 [2022-04-15 13:48:59,973 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 19 mSDsluCounter, 174 mSDsCounter, 0 mSdLazyCounter, 386 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 203 SdHoareTripleChecker+Invalid, 391 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 386 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-15 13:48:59,974 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 203 Invalid, 391 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 386 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-15 13:48:59,974 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-15 13:49:00,091 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 82. [2022-04-15 13:49:00,092 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:49:00,092 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand has 82 states, 59 states have (on average 1.11864406779661) internal successors, (66), 61 states have internal predecessors, (66), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 13:49:00,092 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand has 82 states, 59 states have (on average 1.11864406779661) internal successors, (66), 61 states have internal predecessors, (66), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 13:49:00,092 INFO L87 Difference]: Start difference. First operand 86 states. Second operand has 82 states, 59 states have (on average 1.11864406779661) internal successors, (66), 61 states have internal predecessors, (66), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 13:49:00,093 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:49:00,093 INFO L93 Difference]: Finished difference Result 86 states and 96 transitions. [2022-04-15 13:49:00,094 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 96 transitions. [2022-04-15 13:49:00,094 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:49:00,094 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:49:00,094 INFO L74 IsIncluded]: Start isIncluded. First operand has 82 states, 59 states have (on average 1.11864406779661) internal successors, (66), 61 states have internal predecessors, (66), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 86 states. [2022-04-15 13:49:00,094 INFO L87 Difference]: Start difference. First operand has 82 states, 59 states have (on average 1.11864406779661) internal successors, (66), 61 states have internal predecessors, (66), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 86 states. [2022-04-15 13:49:00,095 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:49:00,095 INFO L93 Difference]: Finished difference Result 86 states and 96 transitions. [2022-04-15 13:49:00,095 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 96 transitions. [2022-04-15 13:49:00,095 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:49:00,095 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:49:00,096 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:49:00,096 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:49:00,096 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 82 states, 59 states have (on average 1.11864406779661) internal successors, (66), 61 states have internal predecessors, (66), 13 states have call successors, (13), 10 states have call predecessors, (13), 9 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 13:49:00,097 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 90 transitions. [2022-04-15 13:49:00,097 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 90 transitions. Word has length 50 [2022-04-15 13:49:00,097 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:49:00,097 INFO L478 AbstractCegarLoop]: Abstraction has 82 states and 90 transitions. [2022-04-15 13:49:00,097 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 12 states have (on average 2.5) internal successors, (30), 14 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:49:00,097 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 82 states and 90 transitions. [2022-04-15 13:49:00,261 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:49:00,261 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 90 transitions. [2022-04-15 13:49:00,262 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 13:49:00,262 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:49:00,262 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 13:49:00,278 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-15 13:49:00,469 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-15 13:49:00,469 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:49:00,469 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:49:00,470 INFO L85 PathProgramCache]: Analyzing trace with hash -1484106385, now seen corresponding path program 7 times [2022-04-15 13:49:00,470 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:49:00,470 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1207285540] [2022-04-15 13:49:00,470 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:49:00,470 INFO L85 PathProgramCache]: Analyzing trace with hash -1484106385, now seen corresponding path program 8 times [2022-04-15 13:49:00,470 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:49:00,470 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2141836724] [2022-04-15 13:49:00,470 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:49:00,470 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:49:00,479 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:49:00,479 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [528503225] [2022-04-15 13:49:00,479 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 13:49:00,479 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:49:00,479 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:49:00,480 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:49:00,481 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-15 13:49:00,519 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 13:49:00,519 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:49:00,520 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-15 13:49:00,530 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:49:00,531 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:49:15,082 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:49:21,381 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:49:26,996 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:49:30,862 INFO L272 TraceCheckUtils]: 0: Hoare triple {8176#true} call ULTIMATE.init(); {8176#true} is VALID [2022-04-15 13:49:30,862 INFO L290 TraceCheckUtils]: 1: Hoare triple {8176#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(15, 2);call #Ultimate.allocInit(12, 3); {8176#true} is VALID [2022-04-15 13:49:30,863 INFO L290 TraceCheckUtils]: 2: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-15 13:49:30,863 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8176#true} {8176#true} #69#return; {8176#true} is VALID [2022-04-15 13:49:30,863 INFO L272 TraceCheckUtils]: 4: Hoare triple {8176#true} call #t~ret8 := main(); {8176#true} is VALID [2022-04-15 13:49:30,863 INFO L290 TraceCheckUtils]: 5: Hoare triple {8176#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {8176#true} is VALID [2022-04-15 13:49:30,863 INFO L272 TraceCheckUtils]: 6: Hoare triple {8176#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {8176#true} is VALID [2022-04-15 13:49:30,863 INFO L290 TraceCheckUtils]: 7: Hoare triple {8176#true} ~cond := #in~cond; {8176#true} is VALID [2022-04-15 13:49:30,863 INFO L290 TraceCheckUtils]: 8: Hoare triple {8176#true} assume !(0 == ~cond); {8176#true} is VALID [2022-04-15 13:49:30,863 INFO L290 TraceCheckUtils]: 9: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-15 13:49:30,863 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8176#true} {8176#true} #61#return; {8176#true} is VALID [2022-04-15 13:49:30,863 INFO L290 TraceCheckUtils]: 11: Hoare triple {8176#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {8176#true} is VALID [2022-04-15 13:49:30,863 INFO L272 TraceCheckUtils]: 12: Hoare triple {8176#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {8176#true} is VALID [2022-04-15 13:49:30,863 INFO L290 TraceCheckUtils]: 13: Hoare triple {8176#true} ~cond := #in~cond; {8176#true} is VALID [2022-04-15 13:49:30,863 INFO L290 TraceCheckUtils]: 14: Hoare triple {8176#true} assume !(0 == ~cond); {8176#true} is VALID [2022-04-15 13:49:30,863 INFO L290 TraceCheckUtils]: 15: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-15 13:49:30,863 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8176#true} {8176#true} #63#return; {8176#true} is VALID [2022-04-15 13:49:30,864 INFO L290 TraceCheckUtils]: 17: Hoare triple {8176#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {8232#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 13:49:30,864 INFO L290 TraceCheckUtils]: 18: Hoare triple {8232#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8232#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 13:49:30,864 INFO L272 TraceCheckUtils]: 19: Hoare triple {8232#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8176#true} is VALID [2022-04-15 13:49:30,864 INFO L290 TraceCheckUtils]: 20: Hoare triple {8176#true} ~cond := #in~cond; {8176#true} is VALID [2022-04-15 13:49:30,864 INFO L290 TraceCheckUtils]: 21: Hoare triple {8176#true} assume !(0 == ~cond); {8176#true} is VALID [2022-04-15 13:49:30,864 INFO L290 TraceCheckUtils]: 22: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-15 13:49:30,865 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8176#true} {8232#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #65#return; {8232#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 13:49:30,865 INFO L290 TraceCheckUtils]: 24: Hoare triple {8232#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {8232#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-15 13:49:30,866 INFO L290 TraceCheckUtils]: 25: Hoare triple {8232#(and (= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8257#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-15 13:49:30,866 INFO L290 TraceCheckUtils]: 26: Hoare triple {8257#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8257#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-15 13:49:30,866 INFO L290 TraceCheckUtils]: 27: Hoare triple {8257#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8264#(and (= main_~xy~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-15 13:49:30,866 INFO L272 TraceCheckUtils]: 28: Hoare triple {8264#(and (= main_~xy~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8176#true} is VALID [2022-04-15 13:49:30,867 INFO L290 TraceCheckUtils]: 29: Hoare triple {8176#true} ~cond := #in~cond; {8271#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:49:30,867 INFO L290 TraceCheckUtils]: 30: Hoare triple {8271#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:49:30,867 INFO L290 TraceCheckUtils]: 31: Hoare triple {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:49:30,868 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} {8264#(and (= main_~xy~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} #65#return; {8282#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} is VALID [2022-04-15 13:49:30,868 INFO L290 TraceCheckUtils]: 33: Hoare triple {8282#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} assume !!(~x~0 <= ~X~0); {8282#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} is VALID [2022-04-15 13:49:30,873 INFO L290 TraceCheckUtils]: 34: Hoare triple {8282#(= (+ main_~X~0 main_~v~0) (* main_~Y~0 4))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {8289#(= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} is VALID [2022-04-15 13:49:30,873 INFO L290 TraceCheckUtils]: 35: Hoare triple {8289#(= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8289#(= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} is VALID [2022-04-15 13:49:30,874 INFO L290 TraceCheckUtils]: 36: Hoare triple {8289#(= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8296#(and (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 13:49:30,874 INFO L272 TraceCheckUtils]: 37: Hoare triple {8296#(and (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8176#true} is VALID [2022-04-15 13:49:30,874 INFO L290 TraceCheckUtils]: 38: Hoare triple {8176#true} ~cond := #in~cond; {8271#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:49:30,874 INFO L290 TraceCheckUtils]: 39: Hoare triple {8271#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:49:30,875 INFO L290 TraceCheckUtils]: 40: Hoare triple {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:49:30,876 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} {8296#(and (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {8312#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:49:30,876 INFO L290 TraceCheckUtils]: 42: Hoare triple {8312#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {8312#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:49:30,877 INFO L290 TraceCheckUtils]: 43: Hoare triple {8312#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= (* main_~Y~0 4) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8319#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is VALID [2022-04-15 13:49:30,878 INFO L290 TraceCheckUtils]: 44: Hoare triple {8319#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8323#(and (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))))} is VALID [2022-04-15 13:49:32,880 WARN L290 TraceCheckUtils]: 45: Hoare triple {8323#(and (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))) (= (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0))) (+ (* (* main_~X~0 main_~y~0) 2) (* (- 2) main_~X~0) (* main_~Y~0 6))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8327#(and (or (and (or (and (= (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) 0) (= main_~yx~0 0)) (and (= (mod (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) main_~Y~0) 0) (= (* (div (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) main_~Y~0) main_~Y~0) main_~yx~0) (not (= main_~Y~0 0)))) (not (= main_~X~0 0)) (= (mod main_~xy~0 main_~X~0) 0)) (and (= main_~xy~0 0) (= main_~X~0 0) (or (and (= (* main_~Y~0 3) (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) main_~X~0)) (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (and (= main_~yx~0 0) (= main_~Y~0 0))))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} is UNKNOWN [2022-04-15 13:49:32,883 INFO L272 TraceCheckUtils]: 46: Hoare triple {8327#(and (or (and (or (and (= (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) 0) (= main_~yx~0 0)) (and (= (mod (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) main_~Y~0) 0) (= (* (div (+ (* main_~Y~0 3) (* (div main_~xy~0 main_~X~0) main_~X~0) (* (- 1) main_~X~0)) main_~Y~0) main_~Y~0) main_~yx~0) (not (= main_~Y~0 0)))) (not (= main_~X~0 0)) (= (mod main_~xy~0 main_~X~0) 0)) (and (= main_~xy~0 0) (= main_~X~0 0) (or (and (= (* main_~Y~0 3) (+ (* (div main_~yx~0 main_~Y~0) main_~Y~0) main_~X~0)) (= (mod main_~yx~0 main_~Y~0) 0) (not (= main_~Y~0 0))) (and (= main_~yx~0 0) (= main_~Y~0 0))))) (= main_~v~0 (+ (* main_~Y~0 8) (* main_~X~0 (- 3)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8331#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:49:32,883 INFO L290 TraceCheckUtils]: 47: Hoare triple {8331#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8335#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:49:32,883 INFO L290 TraceCheckUtils]: 48: Hoare triple {8335#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8177#false} is VALID [2022-04-15 13:49:32,883 INFO L290 TraceCheckUtils]: 49: Hoare triple {8177#false} assume !false; {8177#false} is VALID [2022-04-15 13:49:32,884 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 10 proven. 23 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-15 13:49:32,884 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:49:36,153 INFO L290 TraceCheckUtils]: 49: Hoare triple {8177#false} assume !false; {8177#false} is VALID [2022-04-15 13:49:36,154 INFO L290 TraceCheckUtils]: 48: Hoare triple {8335#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8177#false} is VALID [2022-04-15 13:49:36,154 INFO L290 TraceCheckUtils]: 47: Hoare triple {8331#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8335#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:49:36,154 INFO L272 TraceCheckUtils]: 46: Hoare triple {8351#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8331#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:49:36,155 INFO L290 TraceCheckUtils]: 45: Hoare triple {8355#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8351#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 13:49:36,157 INFO L290 TraceCheckUtils]: 44: Hoare triple {8359#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8355#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:49:36,158 INFO L290 TraceCheckUtils]: 43: Hoare triple {8355#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8359#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 13:49:36,158 INFO L290 TraceCheckUtils]: 42: Hoare triple {8355#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {8355#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:49:36,159 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} {8369#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {8355#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:49:36,159 INFO L290 TraceCheckUtils]: 40: Hoare triple {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:49:36,160 INFO L290 TraceCheckUtils]: 39: Hoare triple {8379#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8275#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:49:36,160 INFO L290 TraceCheckUtils]: 38: Hoare triple {8176#true} ~cond := #in~cond; {8379#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 13:49:36,160 INFO L272 TraceCheckUtils]: 37: Hoare triple {8369#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8176#true} is VALID [2022-04-15 13:49:36,161 INFO L290 TraceCheckUtils]: 36: Hoare triple {8176#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8369#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-15 13:49:36,161 INFO L290 TraceCheckUtils]: 35: Hoare triple {8176#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8176#true} is VALID [2022-04-15 13:49:36,161 INFO L290 TraceCheckUtils]: 34: Hoare triple {8176#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {8176#true} is VALID [2022-04-15 13:49:36,161 INFO L290 TraceCheckUtils]: 33: Hoare triple {8176#true} assume !!(~x~0 <= ~X~0); {8176#true} is VALID [2022-04-15 13:49:36,161 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8176#true} {8176#true} #65#return; {8176#true} is VALID [2022-04-15 13:49:36,161 INFO L290 TraceCheckUtils]: 31: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-15 13:49:36,161 INFO L290 TraceCheckUtils]: 30: Hoare triple {8176#true} assume !(0 == ~cond); {8176#true} is VALID [2022-04-15 13:49:36,161 INFO L290 TraceCheckUtils]: 29: Hoare triple {8176#true} ~cond := #in~cond; {8176#true} is VALID [2022-04-15 13:49:36,161 INFO L272 TraceCheckUtils]: 28: Hoare triple {8176#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8176#true} is VALID [2022-04-15 13:49:36,161 INFO L290 TraceCheckUtils]: 27: Hoare triple {8176#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8176#true} is VALID [2022-04-15 13:49:36,161 INFO L290 TraceCheckUtils]: 26: Hoare triple {8176#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {8176#true} is VALID [2022-04-15 13:49:36,161 INFO L290 TraceCheckUtils]: 25: Hoare triple {8176#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {8176#true} is VALID [2022-04-15 13:49:36,161 INFO L290 TraceCheckUtils]: 24: Hoare triple {8176#true} assume !!(~x~0 <= ~X~0); {8176#true} is VALID [2022-04-15 13:49:36,161 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8176#true} {8176#true} #65#return; {8176#true} is VALID [2022-04-15 13:49:36,161 INFO L290 TraceCheckUtils]: 22: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-15 13:49:36,161 INFO L290 TraceCheckUtils]: 21: Hoare triple {8176#true} assume !(0 == ~cond); {8176#true} is VALID [2022-04-15 13:49:36,161 INFO L290 TraceCheckUtils]: 20: Hoare triple {8176#true} ~cond := #in~cond; {8176#true} is VALID [2022-04-15 13:49:36,162 INFO L272 TraceCheckUtils]: 19: Hoare triple {8176#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {8176#true} is VALID [2022-04-15 13:49:36,162 INFO L290 TraceCheckUtils]: 18: Hoare triple {8176#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {8176#true} is VALID [2022-04-15 13:49:36,162 INFO L290 TraceCheckUtils]: 17: Hoare triple {8176#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {8176#true} is VALID [2022-04-15 13:49:36,162 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8176#true} {8176#true} #63#return; {8176#true} is VALID [2022-04-15 13:49:36,162 INFO L290 TraceCheckUtils]: 15: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-15 13:49:36,162 INFO L290 TraceCheckUtils]: 14: Hoare triple {8176#true} assume !(0 == ~cond); {8176#true} is VALID [2022-04-15 13:49:36,162 INFO L290 TraceCheckUtils]: 13: Hoare triple {8176#true} ~cond := #in~cond; {8176#true} is VALID [2022-04-15 13:49:36,162 INFO L272 TraceCheckUtils]: 12: Hoare triple {8176#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {8176#true} is VALID [2022-04-15 13:49:36,162 INFO L290 TraceCheckUtils]: 11: Hoare triple {8176#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {8176#true} is VALID [2022-04-15 13:49:36,162 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8176#true} {8176#true} #61#return; {8176#true} is VALID [2022-04-15 13:49:36,162 INFO L290 TraceCheckUtils]: 9: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-15 13:49:36,162 INFO L290 TraceCheckUtils]: 8: Hoare triple {8176#true} assume !(0 == ~cond); {8176#true} is VALID [2022-04-15 13:49:36,162 INFO L290 TraceCheckUtils]: 7: Hoare triple {8176#true} ~cond := #in~cond; {8176#true} is VALID [2022-04-15 13:49:36,162 INFO L272 TraceCheckUtils]: 6: Hoare triple {8176#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {8176#true} is VALID [2022-04-15 13:49:36,162 INFO L290 TraceCheckUtils]: 5: Hoare triple {8176#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {8176#true} is VALID [2022-04-15 13:49:36,162 INFO L272 TraceCheckUtils]: 4: Hoare triple {8176#true} call #t~ret8 := main(); {8176#true} is VALID [2022-04-15 13:49:36,162 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8176#true} {8176#true} #69#return; {8176#true} is VALID [2022-04-15 13:49:36,162 INFO L290 TraceCheckUtils]: 2: Hoare triple {8176#true} assume true; {8176#true} is VALID [2022-04-15 13:49:36,162 INFO L290 TraceCheckUtils]: 1: Hoare triple {8176#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(15, 2);call #Ultimate.allocInit(12, 3); {8176#true} is VALID [2022-04-15 13:49:36,163 INFO L272 TraceCheckUtils]: 0: Hoare triple {8176#true} call ULTIMATE.init(); {8176#true} is VALID [2022-04-15 13:49:36,163 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-15 13:49:36,163 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:49:36,163 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2141836724] [2022-04-15 13:49:36,163 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:49:36,163 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [528503225] [2022-04-15 13:49:36,163 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [528503225] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:49:36,163 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:49:36,163 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 10] total 21 [2022-04-15 13:49:36,163 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:49:36,163 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1207285540] [2022-04-15 13:49:36,163 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1207285540] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:49:36,163 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:49:36,163 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 13:49:36,163 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [409337840] [2022-04-15 13:49:36,164 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:49:36,164 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 13:49:36,164 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:49:36,164 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:49:38,199 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 43 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 13:49:38,199 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 13:49:38,199 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:49:38,200 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 13:49:38,200 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=365, Unknown=0, NotChecked=0, Total=420 [2022-04-15 13:49:38,200 INFO L87 Difference]: Start difference. First operand 82 states and 90 transitions. Second operand has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:49:41,095 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.33s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:49:42,832 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.18s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:49:44,990 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:49:48,489 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.14s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:49:58,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:49:58,554 INFO L93 Difference]: Finished difference Result 100 states and 112 transitions. [2022-04-15 13:49:58,554 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 13:49:58,555 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 13:49:58,555 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:49:58,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:49:58,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-15 13:49:58,556 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:49:58,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 65 transitions. [2022-04-15 13:49:58,556 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 65 transitions. [2022-04-15 13:50:00,624 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 64 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 13:50:00,625 INFO L225 Difference]: With dead ends: 100 [2022-04-15 13:50:00,626 INFO L226 Difference]: Without dead ends: 98 [2022-04-15 13:50:00,626 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 78 SyntacticMatches, 2 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 79 ImplicationChecksByTransitivity, 4.2s TimeCoverageRelationStatistics Valid=88, Invalid=562, Unknown=0, NotChecked=0, Total=650 [2022-04-15 13:50:00,626 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 22 mSDsluCounter, 165 mSDsCounter, 0 mSdLazyCounter, 367 mSolverCounterSat, 8 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 8.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 191 SdHoareTripleChecker+Invalid, 376 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 367 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 8.2s IncrementalHoareTripleChecker+Time [2022-04-15 13:50:00,626 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 191 Invalid, 376 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 367 Invalid, 1 Unknown, 0 Unchecked, 8.2s Time] [2022-04-15 13:50:00,627 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-15 13:50:00,747 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 87. [2022-04-15 13:50:00,747 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:50:00,747 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 87 states, 63 states have (on average 1.126984126984127) internal successors, (71), 65 states have internal predecessors, (71), 14 states have call successors, (14), 10 states have call predecessors, (14), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 13:50:00,747 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 87 states, 63 states have (on average 1.126984126984127) internal successors, (71), 65 states have internal predecessors, (71), 14 states have call successors, (14), 10 states have call predecessors, (14), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 13:50:00,747 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 87 states, 63 states have (on average 1.126984126984127) internal successors, (71), 65 states have internal predecessors, (71), 14 states have call successors, (14), 10 states have call predecessors, (14), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 13:50:00,749 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:50:00,749 INFO L93 Difference]: Finished difference Result 98 states and 110 transitions. [2022-04-15 13:50:00,749 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 110 transitions. [2022-04-15 13:50:00,749 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:50:00,749 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:50:00,749 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 63 states have (on average 1.126984126984127) internal successors, (71), 65 states have internal predecessors, (71), 14 states have call successors, (14), 10 states have call predecessors, (14), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 98 states. [2022-04-15 13:50:00,749 INFO L87 Difference]: Start difference. First operand has 87 states, 63 states have (on average 1.126984126984127) internal successors, (71), 65 states have internal predecessors, (71), 14 states have call successors, (14), 10 states have call predecessors, (14), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) Second operand 98 states. [2022-04-15 13:50:00,750 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:50:00,751 INFO L93 Difference]: Finished difference Result 98 states and 110 transitions. [2022-04-15 13:50:00,751 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 110 transitions. [2022-04-15 13:50:00,751 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:50:00,751 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:50:00,751 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:50:00,751 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:50:00,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 63 states have (on average 1.126984126984127) internal successors, (71), 65 states have internal predecessors, (71), 14 states have call successors, (14), 10 states have call predecessors, (14), 9 states have return successors, (12), 11 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-15 13:50:00,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 97 transitions. [2022-04-15 13:50:00,752 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 97 transitions. Word has length 50 [2022-04-15 13:50:00,752 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:50:00,752 INFO L478 AbstractCegarLoop]: Abstraction has 87 states and 97 transitions. [2022-04-15 13:50:00,752 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 13 states have (on average 2.3076923076923075) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:50:00,752 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 87 states and 97 transitions. [2022-04-15 13:50:02,973 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 96 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 13:50:02,973 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 97 transitions. [2022-04-15 13:50:02,974 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 13:50:02,974 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:50:02,974 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 13:50:02,990 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-15 13:50:03,181 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-15 13:50:03,181 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:50:03,181 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:50:03,181 INFO L85 PathProgramCache]: Analyzing trace with hash 290900977, now seen corresponding path program 9 times [2022-04-15 13:50:03,182 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:50:03,182 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [691261528] [2022-04-15 13:50:03,182 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:50:03,182 INFO L85 PathProgramCache]: Analyzing trace with hash 290900977, now seen corresponding path program 10 times [2022-04-15 13:50:03,182 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:50:03,182 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2076351498] [2022-04-15 13:50:03,182 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:50:03,182 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:50:03,197 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:50:03,197 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [437827586] [2022-04-15 13:50:03,197 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 13:50:03,197 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:50:03,197 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:50:03,198 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:50:03,198 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-15 13:50:03,233 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 13:50:03,234 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:50:03,234 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-15 13:50:03,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:50:03,251 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:50:03,541 INFO L272 TraceCheckUtils]: 0: Hoare triple {9076#true} call ULTIMATE.init(); {9076#true} is VALID [2022-04-15 13:50:03,541 INFO L290 TraceCheckUtils]: 1: Hoare triple {9076#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(15, 2);call #Ultimate.allocInit(12, 3); {9076#true} is VALID [2022-04-15 13:50:03,541 INFO L290 TraceCheckUtils]: 2: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-15 13:50:03,541 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9076#true} {9076#true} #69#return; {9076#true} is VALID [2022-04-15 13:50:03,541 INFO L272 TraceCheckUtils]: 4: Hoare triple {9076#true} call #t~ret8 := main(); {9076#true} is VALID [2022-04-15 13:50:03,541 INFO L290 TraceCheckUtils]: 5: Hoare triple {9076#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {9076#true} is VALID [2022-04-15 13:50:03,542 INFO L272 TraceCheckUtils]: 6: Hoare triple {9076#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {9076#true} is VALID [2022-04-15 13:50:03,542 INFO L290 TraceCheckUtils]: 7: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-15 13:50:03,542 INFO L290 TraceCheckUtils]: 8: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-15 13:50:03,542 INFO L290 TraceCheckUtils]: 9: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-15 13:50:03,542 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9076#true} {9076#true} #61#return; {9076#true} is VALID [2022-04-15 13:50:03,542 INFO L290 TraceCheckUtils]: 11: Hoare triple {9076#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {9076#true} is VALID [2022-04-15 13:50:03,542 INFO L272 TraceCheckUtils]: 12: Hoare triple {9076#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {9076#true} is VALID [2022-04-15 13:50:03,542 INFO L290 TraceCheckUtils]: 13: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-15 13:50:03,542 INFO L290 TraceCheckUtils]: 14: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-15 13:50:03,542 INFO L290 TraceCheckUtils]: 15: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-15 13:50:03,542 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9076#true} {9076#true} #63#return; {9076#true} is VALID [2022-04-15 13:50:03,542 INFO L290 TraceCheckUtils]: 17: Hoare triple {9076#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-15 13:50:03,543 INFO L290 TraceCheckUtils]: 18: Hoare triple {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-15 13:50:03,543 INFO L272 TraceCheckUtils]: 19: Hoare triple {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9076#true} is VALID [2022-04-15 13:50:03,543 INFO L290 TraceCheckUtils]: 20: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-15 13:50:03,543 INFO L290 TraceCheckUtils]: 21: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-15 13:50:03,543 INFO L290 TraceCheckUtils]: 22: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-15 13:50:03,543 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9076#true} {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} #65#return; {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-15 13:50:03,544 INFO L290 TraceCheckUtils]: 24: Hoare triple {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} is VALID [2022-04-15 13:50:03,544 INFO L290 TraceCheckUtils]: 25: Hoare triple {9132#(<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-15 13:50:03,545 INFO L290 TraceCheckUtils]: 26: Hoare triple {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-15 13:50:03,545 INFO L290 TraceCheckUtils]: 27: Hoare triple {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-15 13:50:03,545 INFO L272 TraceCheckUtils]: 28: Hoare triple {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9076#true} is VALID [2022-04-15 13:50:03,545 INFO L290 TraceCheckUtils]: 29: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-15 13:50:03,545 INFO L290 TraceCheckUtils]: 30: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-15 13:50:03,545 INFO L290 TraceCheckUtils]: 31: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-15 13:50:03,547 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9076#true} {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} #65#return; {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-15 13:50:03,547 INFO L290 TraceCheckUtils]: 33: Hoare triple {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-15 13:50:03,548 INFO L290 TraceCheckUtils]: 34: Hoare triple {9157#(and (< (* main_~Y~0 2) main_~X~0) (< main_~v~0 (* main_~Y~0 2)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-15 13:50:03,548 INFO L290 TraceCheckUtils]: 35: Hoare triple {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-15 13:50:03,549 INFO L290 TraceCheckUtils]: 36: Hoare triple {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-15 13:50:03,549 INFO L272 TraceCheckUtils]: 37: Hoare triple {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9076#true} is VALID [2022-04-15 13:50:03,549 INFO L290 TraceCheckUtils]: 38: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-15 13:50:03,549 INFO L290 TraceCheckUtils]: 39: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-15 13:50:03,549 INFO L290 TraceCheckUtils]: 40: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-15 13:50:03,549 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {9076#true} {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} #65#return; {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-15 13:50:03,549 INFO L290 TraceCheckUtils]: 42: Hoare triple {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} assume !!(~x~0 <= ~X~0); {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} is VALID [2022-04-15 13:50:03,552 INFO L290 TraceCheckUtils]: 43: Hoare triple {9185#(< 0 (div (+ (- 1) (* (- 1) main_~v~0)) 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {9077#false} is VALID [2022-04-15 13:50:03,552 INFO L290 TraceCheckUtils]: 44: Hoare triple {9077#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9077#false} is VALID [2022-04-15 13:50:03,552 INFO L290 TraceCheckUtils]: 45: Hoare triple {9077#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9077#false} is VALID [2022-04-15 13:50:03,552 INFO L272 TraceCheckUtils]: 46: Hoare triple {9077#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9077#false} is VALID [2022-04-15 13:50:03,552 INFO L290 TraceCheckUtils]: 47: Hoare triple {9077#false} ~cond := #in~cond; {9077#false} is VALID [2022-04-15 13:50:03,552 INFO L290 TraceCheckUtils]: 48: Hoare triple {9077#false} assume 0 == ~cond; {9077#false} is VALID [2022-04-15 13:50:03,552 INFO L290 TraceCheckUtils]: 49: Hoare triple {9077#false} assume !false; {9077#false} is VALID [2022-04-15 13:50:03,553 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 14 proven. 13 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 13:50:03,553 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:50:03,728 INFO L290 TraceCheckUtils]: 49: Hoare triple {9077#false} assume !false; {9077#false} is VALID [2022-04-15 13:50:03,729 INFO L290 TraceCheckUtils]: 48: Hoare triple {9077#false} assume 0 == ~cond; {9077#false} is VALID [2022-04-15 13:50:03,729 INFO L290 TraceCheckUtils]: 47: Hoare triple {9077#false} ~cond := #in~cond; {9077#false} is VALID [2022-04-15 13:50:03,729 INFO L272 TraceCheckUtils]: 46: Hoare triple {9077#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9077#false} is VALID [2022-04-15 13:50:03,729 INFO L290 TraceCheckUtils]: 45: Hoare triple {9077#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9077#false} is VALID [2022-04-15 13:50:03,729 INFO L290 TraceCheckUtils]: 44: Hoare triple {9077#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9077#false} is VALID [2022-04-15 13:50:03,729 INFO L290 TraceCheckUtils]: 43: Hoare triple {9249#(< main_~v~0 0)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {9077#false} is VALID [2022-04-15 13:50:03,729 INFO L290 TraceCheckUtils]: 42: Hoare triple {9249#(< main_~v~0 0)} assume !!(~x~0 <= ~X~0); {9249#(< main_~v~0 0)} is VALID [2022-04-15 13:50:03,730 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {9076#true} {9249#(< main_~v~0 0)} #65#return; {9249#(< main_~v~0 0)} is VALID [2022-04-15 13:50:03,730 INFO L290 TraceCheckUtils]: 40: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-15 13:50:03,730 INFO L290 TraceCheckUtils]: 39: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-15 13:50:03,730 INFO L290 TraceCheckUtils]: 38: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-15 13:50:03,730 INFO L272 TraceCheckUtils]: 37: Hoare triple {9249#(< main_~v~0 0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9076#true} is VALID [2022-04-15 13:50:03,730 INFO L290 TraceCheckUtils]: 36: Hoare triple {9249#(< main_~v~0 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9249#(< main_~v~0 0)} is VALID [2022-04-15 13:50:03,730 INFO L290 TraceCheckUtils]: 35: Hoare triple {9249#(< main_~v~0 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9249#(< main_~v~0 0)} is VALID [2022-04-15 13:50:03,731 INFO L290 TraceCheckUtils]: 34: Hoare triple {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {9249#(< main_~v~0 0)} is VALID [2022-04-15 13:50:03,731 INFO L290 TraceCheckUtils]: 33: Hoare triple {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} assume !!(~x~0 <= ~X~0); {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-15 13:50:03,732 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9076#true} {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} #65#return; {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-15 13:50:03,732 INFO L290 TraceCheckUtils]: 31: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-15 13:50:03,732 INFO L290 TraceCheckUtils]: 30: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-15 13:50:03,732 INFO L290 TraceCheckUtils]: 29: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-15 13:50:03,732 INFO L272 TraceCheckUtils]: 28: Hoare triple {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9076#true} is VALID [2022-04-15 13:50:03,732 INFO L290 TraceCheckUtils]: 27: Hoare triple {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-15 13:50:03,733 INFO L290 TraceCheckUtils]: 26: Hoare triple {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-15 13:50:03,733 INFO L290 TraceCheckUtils]: 25: Hoare triple {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {9277#(< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))} is VALID [2022-04-15 13:50:03,734 INFO L290 TraceCheckUtils]: 24: Hoare triple {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} assume !!(~x~0 <= ~X~0); {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-15 13:50:03,734 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9076#true} {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} #65#return; {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-15 13:50:03,734 INFO L290 TraceCheckUtils]: 22: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-15 13:50:03,734 INFO L290 TraceCheckUtils]: 21: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-15 13:50:03,734 INFO L290 TraceCheckUtils]: 20: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-15 13:50:03,734 INFO L272 TraceCheckUtils]: 19: Hoare triple {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {9076#true} is VALID [2022-04-15 13:50:03,734 INFO L290 TraceCheckUtils]: 18: Hoare triple {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-15 13:50:03,735 INFO L290 TraceCheckUtils]: 17: Hoare triple {9076#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {9305#(or (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (not (< main_~v~0 0)))} is VALID [2022-04-15 13:50:03,735 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9076#true} {9076#true} #63#return; {9076#true} is VALID [2022-04-15 13:50:03,735 INFO L290 TraceCheckUtils]: 15: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-15 13:50:03,735 INFO L290 TraceCheckUtils]: 14: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-15 13:50:03,735 INFO L290 TraceCheckUtils]: 13: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-15 13:50:03,735 INFO L272 TraceCheckUtils]: 12: Hoare triple {9076#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {9076#true} is VALID [2022-04-15 13:50:03,735 INFO L290 TraceCheckUtils]: 11: Hoare triple {9076#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {9076#true} is VALID [2022-04-15 13:50:03,736 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9076#true} {9076#true} #61#return; {9076#true} is VALID [2022-04-15 13:50:03,736 INFO L290 TraceCheckUtils]: 9: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-15 13:50:03,736 INFO L290 TraceCheckUtils]: 8: Hoare triple {9076#true} assume !(0 == ~cond); {9076#true} is VALID [2022-04-15 13:50:03,736 INFO L290 TraceCheckUtils]: 7: Hoare triple {9076#true} ~cond := #in~cond; {9076#true} is VALID [2022-04-15 13:50:03,736 INFO L272 TraceCheckUtils]: 6: Hoare triple {9076#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {9076#true} is VALID [2022-04-15 13:50:03,736 INFO L290 TraceCheckUtils]: 5: Hoare triple {9076#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {9076#true} is VALID [2022-04-15 13:50:03,736 INFO L272 TraceCheckUtils]: 4: Hoare triple {9076#true} call #t~ret8 := main(); {9076#true} is VALID [2022-04-15 13:50:03,736 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9076#true} {9076#true} #69#return; {9076#true} is VALID [2022-04-15 13:50:03,736 INFO L290 TraceCheckUtils]: 2: Hoare triple {9076#true} assume true; {9076#true} is VALID [2022-04-15 13:50:03,736 INFO L290 TraceCheckUtils]: 1: Hoare triple {9076#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(15, 2);call #Ultimate.allocInit(12, 3); {9076#true} is VALID [2022-04-15 13:50:03,736 INFO L272 TraceCheckUtils]: 0: Hoare triple {9076#true} call ULTIMATE.init(); {9076#true} is VALID [2022-04-15 13:50:03,736 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 14 proven. 13 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 13:50:03,736 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:50:03,736 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2076351498] [2022-04-15 13:50:03,736 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:50:03,736 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [437827586] [2022-04-15 13:50:03,736 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [437827586] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:50:03,737 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:50:03,737 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-15 13:50:03,737 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:50:03,737 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [691261528] [2022-04-15 13:50:03,737 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [691261528] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:50:03,737 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:50:03,737 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 13:50:03,737 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [415827655] [2022-04-15 13:50:03,737 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:50:03,737 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 13:50:03,737 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:50:03,738 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:50:03,771 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:50:03,771 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 13:50:03,771 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:50:03,771 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 13:50:03,771 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-15 13:50:03,771 INFO L87 Difference]: Start difference. First operand 87 states and 97 transitions. Second operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:50:04,162 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:50:04,162 INFO L93 Difference]: Finished difference Result 121 states and 141 transitions. [2022-04-15 13:50:04,162 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 13:50:04,162 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 13:50:04,162 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:50:04,162 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:50:04,163 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 71 transitions. [2022-04-15 13:50:04,163 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:50:04,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 71 transitions. [2022-04-15 13:50:04,164 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 71 transitions. [2022-04-15 13:50:04,230 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:50:04,231 INFO L225 Difference]: With dead ends: 121 [2022-04-15 13:50:04,231 INFO L226 Difference]: Without dead ends: 108 [2022-04-15 13:50:04,232 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 93 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=24, Invalid=48, Unknown=0, NotChecked=0, Total=72 [2022-04-15 13:50:04,232 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 4 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 80 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 91 SdHoareTripleChecker+Invalid, 82 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 80 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 13:50:04,232 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [4 Valid, 91 Invalid, 82 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 80 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 13:50:04,233 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-15 13:50:04,428 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 104. [2022-04-15 13:50:04,428 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:50:04,428 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 104 states, 76 states have (on average 1.131578947368421) internal successors, (86), 79 states have internal predecessors, (86), 18 states have call successors, (18), 10 states have call predecessors, (18), 9 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-15 13:50:04,428 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 104 states, 76 states have (on average 1.131578947368421) internal successors, (86), 79 states have internal predecessors, (86), 18 states have call successors, (18), 10 states have call predecessors, (18), 9 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-15 13:50:04,429 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 104 states, 76 states have (on average 1.131578947368421) internal successors, (86), 79 states have internal predecessors, (86), 18 states have call successors, (18), 10 states have call predecessors, (18), 9 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-15 13:50:04,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:50:04,430 INFO L93 Difference]: Finished difference Result 108 states and 124 transitions. [2022-04-15 13:50:04,430 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 124 transitions. [2022-04-15 13:50:04,431 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:50:04,431 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:50:04,431 INFO L74 IsIncluded]: Start isIncluded. First operand has 104 states, 76 states have (on average 1.131578947368421) internal successors, (86), 79 states have internal predecessors, (86), 18 states have call successors, (18), 10 states have call predecessors, (18), 9 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 108 states. [2022-04-15 13:50:04,431 INFO L87 Difference]: Start difference. First operand has 104 states, 76 states have (on average 1.131578947368421) internal successors, (86), 79 states have internal predecessors, (86), 18 states have call successors, (18), 10 states have call predecessors, (18), 9 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 108 states. [2022-04-15 13:50:04,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:50:04,432 INFO L93 Difference]: Finished difference Result 108 states and 124 transitions. [2022-04-15 13:50:04,432 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 124 transitions. [2022-04-15 13:50:04,433 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:50:04,433 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:50:04,433 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:50:04,433 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:50:04,433 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 104 states, 76 states have (on average 1.131578947368421) internal successors, (86), 79 states have internal predecessors, (86), 18 states have call successors, (18), 10 states have call predecessors, (18), 9 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-15 13:50:04,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 120 transitions. [2022-04-15 13:50:04,434 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 120 transitions. Word has length 50 [2022-04-15 13:50:04,434 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:50:04,435 INFO L478 AbstractCegarLoop]: Abstraction has 104 states and 120 transitions. [2022-04-15 13:50:04,435 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:50:04,435 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 104 states and 120 transitions. [2022-04-15 13:50:08,734 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 120 edges. 118 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 13:50:08,734 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 120 transitions. [2022-04-15 13:50:08,734 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 13:50:08,735 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:50:08,735 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 13:50:08,752 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-15 13:50:08,935 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:50:08,935 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:50:08,935 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:50:08,935 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 11 times [2022-04-15 13:50:08,936 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:50:08,936 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1159422754] [2022-04-15 13:50:08,936 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:50:08,936 INFO L85 PathProgramCache]: Analyzing trace with hash 1452517941, now seen corresponding path program 12 times [2022-04-15 13:50:08,936 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:50:08,936 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1452428694] [2022-04-15 13:50:08,936 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:50:08,937 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:50:08,947 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:50:08,947 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [218169330] [2022-04-15 13:50:08,947 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 13:50:08,947 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:50:08,947 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:50:08,948 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:50:08,949 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-15 13:50:08,990 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 13:50:08,990 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:50:08,991 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-15 13:50:09,000 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:50:09,000 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:50:09,568 INFO L272 TraceCheckUtils]: 0: Hoare triple {10051#true} call ULTIMATE.init(); {10051#true} is VALID [2022-04-15 13:50:09,568 INFO L290 TraceCheckUtils]: 1: Hoare triple {10051#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(15, 2);call #Ultimate.allocInit(12, 3); {10051#true} is VALID [2022-04-15 13:50:09,568 INFO L290 TraceCheckUtils]: 2: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-15 13:50:09,568 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10051#true} {10051#true} #69#return; {10051#true} is VALID [2022-04-15 13:50:09,568 INFO L272 TraceCheckUtils]: 4: Hoare triple {10051#true} call #t~ret8 := main(); {10051#true} is VALID [2022-04-15 13:50:09,568 INFO L290 TraceCheckUtils]: 5: Hoare triple {10051#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {10051#true} is VALID [2022-04-15 13:50:09,568 INFO L272 TraceCheckUtils]: 6: Hoare triple {10051#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {10051#true} is VALID [2022-04-15 13:50:09,569 INFO L290 TraceCheckUtils]: 7: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-15 13:50:09,569 INFO L290 TraceCheckUtils]: 8: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-15 13:50:09,569 INFO L290 TraceCheckUtils]: 9: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-15 13:50:09,569 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10051#true} {10051#true} #61#return; {10051#true} is VALID [2022-04-15 13:50:09,569 INFO L290 TraceCheckUtils]: 11: Hoare triple {10051#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {10051#true} is VALID [2022-04-15 13:50:09,569 INFO L272 TraceCheckUtils]: 12: Hoare triple {10051#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {10051#true} is VALID [2022-04-15 13:50:09,569 INFO L290 TraceCheckUtils]: 13: Hoare triple {10051#true} ~cond := #in~cond; {10095#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 13:50:09,569 INFO L290 TraceCheckUtils]: 14: Hoare triple {10095#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {10099#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:50:09,570 INFO L290 TraceCheckUtils]: 15: Hoare triple {10099#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {10099#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:50:09,570 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10099#(not (= |assume_abort_if_not_#in~cond| 0))} {10051#true} #63#return; {10106#(and (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:50:09,570 INFO L290 TraceCheckUtils]: 17: Hoare triple {10106#(and (<= 0 main_~Y~0) (<= main_~Y~0 100))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {10110#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:50:09,571 INFO L290 TraceCheckUtils]: 18: Hoare triple {10110#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10110#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:50:09,571 INFO L272 TraceCheckUtils]: 19: Hoare triple {10110#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10051#true} is VALID [2022-04-15 13:50:09,571 INFO L290 TraceCheckUtils]: 20: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-15 13:50:09,571 INFO L290 TraceCheckUtils]: 21: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-15 13:50:09,571 INFO L290 TraceCheckUtils]: 22: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-15 13:50:09,572 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10051#true} {10110#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} #65#return; {10110#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:50:09,572 INFO L290 TraceCheckUtils]: 24: Hoare triple {10110#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume !!(~x~0 <= ~X~0); {10110#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:50:09,573 INFO L290 TraceCheckUtils]: 25: Hoare triple {10110#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {10135#(and (= main_~x~0 0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:50:09,573 INFO L290 TraceCheckUtils]: 26: Hoare triple {10135#(and (= main_~x~0 0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:50:09,574 INFO L290 TraceCheckUtils]: 27: Hoare triple {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:50:09,574 INFO L272 TraceCheckUtils]: 28: Hoare triple {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10051#true} is VALID [2022-04-15 13:50:09,574 INFO L290 TraceCheckUtils]: 29: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-15 13:50:09,574 INFO L290 TraceCheckUtils]: 30: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-15 13:50:09,574 INFO L290 TraceCheckUtils]: 31: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-15 13:50:09,574 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10051#true} {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:50:09,575 INFO L290 TraceCheckUtils]: 33: Hoare triple {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:50:09,575 INFO L290 TraceCheckUtils]: 34: Hoare triple {10139#(and (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10164#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:50:09,576 INFO L290 TraceCheckUtils]: 35: Hoare triple {10164#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (= main_~x~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:50:09,576 INFO L290 TraceCheckUtils]: 36: Hoare triple {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:50:09,576 INFO L272 TraceCheckUtils]: 37: Hoare triple {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10051#true} is VALID [2022-04-15 13:50:09,576 INFO L290 TraceCheckUtils]: 38: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-15 13:50:09,576 INFO L290 TraceCheckUtils]: 39: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-15 13:50:09,577 INFO L290 TraceCheckUtils]: 40: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-15 13:50:09,577 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10051#true} {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} #65#return; {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:50:09,577 INFO L290 TraceCheckUtils]: 42: Hoare triple {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} assume !!(~x~0 <= ~X~0); {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:50:09,578 INFO L290 TraceCheckUtils]: 43: Hoare triple {10168#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) main_~v~0) (= main_~y~0 1) (<= 0 main_~Y~0) (<= main_~Y~0 100))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {10193#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 1) main_~y~0) 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:50:09,579 INFO L290 TraceCheckUtils]: 44: Hoare triple {10193#(and (= (+ (- 1) main_~x~0) 1) (< (* main_~Y~0 4) (* main_~X~0 3)) (= (+ (- 1) main_~y~0) 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10197#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~x~0 3) (= (+ (- 1) main_~y~0) 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:50:09,579 INFO L290 TraceCheckUtils]: 45: Hoare triple {10197#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~x~0 3) (= (+ (- 1) main_~y~0) 1) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10201#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 3) main_~yx~0) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:50:09,580 INFO L272 TraceCheckUtils]: 46: Hoare triple {10201#(and (< (* main_~Y~0 4) (* main_~X~0 3)) (= main_~xy~0 (* main_~X~0 2)) (= (* main_~Y~0 3) main_~yx~0) (<= 0 main_~Y~0) (<= main_~Y~0 100) (= (+ (* main_~X~0 (- 3)) (* main_~Y~0 6)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10205#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:50:09,580 INFO L290 TraceCheckUtils]: 47: Hoare triple {10205#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10209#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:50:09,581 INFO L290 TraceCheckUtils]: 48: Hoare triple {10209#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10052#false} is VALID [2022-04-15 13:50:09,581 INFO L290 TraceCheckUtils]: 49: Hoare triple {10052#false} assume !false; {10052#false} is VALID [2022-04-15 13:50:09,581 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 9 proven. 21 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 13:50:09,581 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:50:10,088 INFO L290 TraceCheckUtils]: 49: Hoare triple {10052#false} assume !false; {10052#false} is VALID [2022-04-15 13:50:10,088 INFO L290 TraceCheckUtils]: 48: Hoare triple {10209#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10052#false} is VALID [2022-04-15 13:50:10,088 INFO L290 TraceCheckUtils]: 47: Hoare triple {10205#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10209#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:50:10,089 INFO L272 TraceCheckUtils]: 46: Hoare triple {10225#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10205#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:50:10,090 INFO L290 TraceCheckUtils]: 45: Hoare triple {10229#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10225#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 13:50:10,092 INFO L290 TraceCheckUtils]: 44: Hoare triple {10233#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10229#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:50:10,093 INFO L290 TraceCheckUtils]: 43: Hoare triple {10229#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {10233#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 13:50:10,093 INFO L290 TraceCheckUtils]: 42: Hoare triple {10229#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {10229#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:50:10,094 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10051#true} {10229#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #65#return; {10229#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:50:10,094 INFO L290 TraceCheckUtils]: 40: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-15 13:50:10,094 INFO L290 TraceCheckUtils]: 39: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-15 13:50:10,094 INFO L290 TraceCheckUtils]: 38: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-15 13:50:10,094 INFO L272 TraceCheckUtils]: 37: Hoare triple {10229#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10051#true} is VALID [2022-04-15 13:50:10,094 INFO L290 TraceCheckUtils]: 36: Hoare triple {10229#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10229#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:50:10,096 INFO L290 TraceCheckUtils]: 35: Hoare triple {10233#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10229#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:50:10,096 INFO L290 TraceCheckUtils]: 34: Hoare triple {10264#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {10233#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 13:50:10,097 INFO L290 TraceCheckUtils]: 33: Hoare triple {10264#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !!(~x~0 <= ~X~0); {10264#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 13:50:10,097 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {10051#true} {10264#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} #65#return; {10264#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 13:50:10,097 INFO L290 TraceCheckUtils]: 31: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-15 13:50:10,098 INFO L290 TraceCheckUtils]: 30: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-15 13:50:10,098 INFO L290 TraceCheckUtils]: 29: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-15 13:50:10,098 INFO L272 TraceCheckUtils]: 28: Hoare triple {10264#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10051#true} is VALID [2022-04-15 13:50:10,098 INFO L290 TraceCheckUtils]: 27: Hoare triple {10264#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10264#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 13:50:10,099 INFO L290 TraceCheckUtils]: 26: Hoare triple {10289#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {10264#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 13:50:10,101 INFO L290 TraceCheckUtils]: 25: Hoare triple {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {10289#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))))} is VALID [2022-04-15 13:50:10,102 INFO L290 TraceCheckUtils]: 24: Hoare triple {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} assume !!(~x~0 <= ~X~0); {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} is VALID [2022-04-15 13:50:10,102 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10051#true} {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} #65#return; {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} is VALID [2022-04-15 13:50:10,102 INFO L290 TraceCheckUtils]: 22: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-15 13:50:10,102 INFO L290 TraceCheckUtils]: 21: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-15 13:50:10,102 INFO L290 TraceCheckUtils]: 20: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-15 13:50:10,102 INFO L272 TraceCheckUtils]: 19: Hoare triple {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {10051#true} is VALID [2022-04-15 13:50:10,103 INFO L290 TraceCheckUtils]: 18: Hoare triple {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} is VALID [2022-04-15 13:50:10,103 INFO L290 TraceCheckUtils]: 17: Hoare triple {10051#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {10293#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 4) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) (* main_~Y~0 2))) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))))} is VALID [2022-04-15 13:50:10,103 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10051#true} {10051#true} #63#return; {10051#true} is VALID [2022-04-15 13:50:10,103 INFO L290 TraceCheckUtils]: 15: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-15 13:50:10,103 INFO L290 TraceCheckUtils]: 14: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-15 13:50:10,104 INFO L290 TraceCheckUtils]: 13: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-15 13:50:10,104 INFO L272 TraceCheckUtils]: 12: Hoare triple {10051#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {10051#true} is VALID [2022-04-15 13:50:10,104 INFO L290 TraceCheckUtils]: 11: Hoare triple {10051#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {10051#true} is VALID [2022-04-15 13:50:10,104 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10051#true} {10051#true} #61#return; {10051#true} is VALID [2022-04-15 13:50:10,104 INFO L290 TraceCheckUtils]: 9: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-15 13:50:10,104 INFO L290 TraceCheckUtils]: 8: Hoare triple {10051#true} assume !(0 == ~cond); {10051#true} is VALID [2022-04-15 13:50:10,104 INFO L290 TraceCheckUtils]: 7: Hoare triple {10051#true} ~cond := #in~cond; {10051#true} is VALID [2022-04-15 13:50:10,104 INFO L272 TraceCheckUtils]: 6: Hoare triple {10051#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {10051#true} is VALID [2022-04-15 13:50:10,104 INFO L290 TraceCheckUtils]: 5: Hoare triple {10051#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {10051#true} is VALID [2022-04-15 13:50:10,104 INFO L272 TraceCheckUtils]: 4: Hoare triple {10051#true} call #t~ret8 := main(); {10051#true} is VALID [2022-04-15 13:50:10,104 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10051#true} {10051#true} #69#return; {10051#true} is VALID [2022-04-15 13:50:10,104 INFO L290 TraceCheckUtils]: 2: Hoare triple {10051#true} assume true; {10051#true} is VALID [2022-04-15 13:50:10,104 INFO L290 TraceCheckUtils]: 1: Hoare triple {10051#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(15, 2);call #Ultimate.allocInit(12, 3); {10051#true} is VALID [2022-04-15 13:50:10,104 INFO L272 TraceCheckUtils]: 0: Hoare triple {10051#true} call ULTIMATE.init(); {10051#true} is VALID [2022-04-15 13:50:10,104 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 18 proven. 7 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-15 13:50:10,105 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:50:10,105 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1452428694] [2022-04-15 13:50:10,105 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:50:10,105 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [218169330] [2022-04-15 13:50:10,105 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [218169330] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:50:10,105 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:50:10,105 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 10] total 21 [2022-04-15 13:50:10,105 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:50:10,105 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1159422754] [2022-04-15 13:50:10,105 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1159422754] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:50:10,105 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:50:10,105 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-15 13:50:10,105 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [335290312] [2022-04-15 13:50:10,105 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:50:10,106 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 13:50:10,106 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:50:10,106 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:50:10,143 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:50:10,143 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-15 13:50:10,143 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:50:10,144 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-15 13:50:10,144 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=351, Unknown=0, NotChecked=0, Total=420 [2022-04-15 13:50:10,144 INFO L87 Difference]: Start difference. First operand 104 states and 120 transitions. Second operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:50:11,178 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:50:11,179 INFO L93 Difference]: Finished difference Result 117 states and 135 transitions. [2022-04-15 13:50:11,179 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 13:50:11,179 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 13:50:11,179 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:50:11,179 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:50:11,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 64 transitions. [2022-04-15 13:50:11,180 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:50:11,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 64 transitions. [2022-04-15 13:50:11,181 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 64 transitions. [2022-04-15 13:50:11,244 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:50:11,246 INFO L225 Difference]: With dead ends: 117 [2022-04-15 13:50:11,246 INFO L226 Difference]: Without dead ends: 115 [2022-04-15 13:50:11,246 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 102 GetRequests, 78 SyntacticMatches, 2 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 112 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=86, Invalid=466, Unknown=0, NotChecked=0, Total=552 [2022-04-15 13:50:11,247 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 22 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 424 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 148 SdHoareTripleChecker+Invalid, 432 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 424 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 13:50:11,247 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 148 Invalid, 432 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 424 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 13:50:11,247 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2022-04-15 13:50:11,450 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 111. [2022-04-15 13:50:11,450 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:50:11,451 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand has 111 states, 81 states have (on average 1.123456790123457) internal successors, (91), 85 states have internal predecessors, (91), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 13:50:11,451 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand has 111 states, 81 states have (on average 1.123456790123457) internal successors, (91), 85 states have internal predecessors, (91), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 13:50:11,451 INFO L87 Difference]: Start difference. First operand 115 states. Second operand has 111 states, 81 states have (on average 1.123456790123457) internal successors, (91), 85 states have internal predecessors, (91), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 13:50:11,453 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:50:11,453 INFO L93 Difference]: Finished difference Result 115 states and 133 transitions. [2022-04-15 13:50:11,453 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 133 transitions. [2022-04-15 13:50:11,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:50:11,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:50:11,453 INFO L74 IsIncluded]: Start isIncluded. First operand has 111 states, 81 states have (on average 1.123456790123457) internal successors, (91), 85 states have internal predecessors, (91), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) Second operand 115 states. [2022-04-15 13:50:11,453 INFO L87 Difference]: Start difference. First operand has 111 states, 81 states have (on average 1.123456790123457) internal successors, (91), 85 states have internal predecessors, (91), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) Second operand 115 states. [2022-04-15 13:50:11,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:50:11,456 INFO L93 Difference]: Finished difference Result 115 states and 133 transitions. [2022-04-15 13:50:11,456 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 133 transitions. [2022-04-15 13:50:11,456 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:50:11,456 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:50:11,456 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:50:11,456 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:50:11,456 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 111 states, 81 states have (on average 1.123456790123457) internal successors, (91), 85 states have internal predecessors, (91), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 14 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-15 13:50:11,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 127 transitions. [2022-04-15 13:50:11,458 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 127 transitions. Word has length 50 [2022-04-15 13:50:11,458 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:50:11,458 INFO L478 AbstractCegarLoop]: Abstraction has 111 states and 127 transitions. [2022-04-15 13:50:11,458 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:50:11,458 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 111 states and 127 transitions. [2022-04-15 13:50:15,749 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 125 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 13:50:15,749 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 127 transitions. [2022-04-15 13:50:15,750 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 13:50:15,750 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:50:15,750 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 13:50:15,765 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Ended with exit code 0 [2022-04-15 13:50:15,965 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-15 13:50:15,966 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:50:15,966 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:50:15,966 INFO L85 PathProgramCache]: Analyzing trace with hash -1343557775, now seen corresponding path program 13 times [2022-04-15 13:50:15,966 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:50:15,966 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [9578265] [2022-04-15 13:50:15,967 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:50:15,967 INFO L85 PathProgramCache]: Analyzing trace with hash -1343557775, now seen corresponding path program 14 times [2022-04-15 13:50:15,967 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:50:15,967 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1626606277] [2022-04-15 13:50:15,967 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:50:15,967 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:50:15,975 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:50:15,975 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [458418741] [2022-04-15 13:50:15,975 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 13:50:15,975 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:50:15,975 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:50:15,976 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:50:15,978 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-15 13:50:16,015 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 13:50:16,015 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:50:16,016 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-15 13:50:16,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:50:16,026 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:50:29,402 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:50:35,375 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:50:39,891 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:50:40,134 INFO L272 TraceCheckUtils]: 0: Hoare triple {11063#true} call ULTIMATE.init(); {11063#true} is VALID [2022-04-15 13:50:40,134 INFO L290 TraceCheckUtils]: 1: Hoare triple {11063#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(15, 2);call #Ultimate.allocInit(12, 3); {11063#true} is VALID [2022-04-15 13:50:40,134 INFO L290 TraceCheckUtils]: 2: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-15 13:50:40,134 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11063#true} {11063#true} #69#return; {11063#true} is VALID [2022-04-15 13:50:40,135 INFO L272 TraceCheckUtils]: 4: Hoare triple {11063#true} call #t~ret8 := main(); {11063#true} is VALID [2022-04-15 13:50:40,135 INFO L290 TraceCheckUtils]: 5: Hoare triple {11063#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {11063#true} is VALID [2022-04-15 13:50:40,135 INFO L272 TraceCheckUtils]: 6: Hoare triple {11063#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {11063#true} is VALID [2022-04-15 13:50:40,135 INFO L290 TraceCheckUtils]: 7: Hoare triple {11063#true} ~cond := #in~cond; {11063#true} is VALID [2022-04-15 13:50:40,135 INFO L290 TraceCheckUtils]: 8: Hoare triple {11063#true} assume !(0 == ~cond); {11063#true} is VALID [2022-04-15 13:50:40,135 INFO L290 TraceCheckUtils]: 9: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-15 13:50:40,135 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11063#true} {11063#true} #61#return; {11063#true} is VALID [2022-04-15 13:50:40,135 INFO L290 TraceCheckUtils]: 11: Hoare triple {11063#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {11063#true} is VALID [2022-04-15 13:50:40,135 INFO L272 TraceCheckUtils]: 12: Hoare triple {11063#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {11063#true} is VALID [2022-04-15 13:50:40,135 INFO L290 TraceCheckUtils]: 13: Hoare triple {11063#true} ~cond := #in~cond; {11063#true} is VALID [2022-04-15 13:50:40,135 INFO L290 TraceCheckUtils]: 14: Hoare triple {11063#true} assume !(0 == ~cond); {11063#true} is VALID [2022-04-15 13:50:40,135 INFO L290 TraceCheckUtils]: 15: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-15 13:50:40,135 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11063#true} {11063#true} #63#return; {11063#true} is VALID [2022-04-15 13:50:40,136 INFO L290 TraceCheckUtils]: 17: Hoare triple {11063#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {11119#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 13:50:40,136 INFO L290 TraceCheckUtils]: 18: Hoare triple {11119#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11119#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 13:50:40,136 INFO L272 TraceCheckUtils]: 19: Hoare triple {11119#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11063#true} is VALID [2022-04-15 13:50:40,136 INFO L290 TraceCheckUtils]: 20: Hoare triple {11063#true} ~cond := #in~cond; {11063#true} is VALID [2022-04-15 13:50:40,136 INFO L290 TraceCheckUtils]: 21: Hoare triple {11063#true} assume !(0 == ~cond); {11063#true} is VALID [2022-04-15 13:50:40,136 INFO L290 TraceCheckUtils]: 22: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-15 13:50:40,137 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11063#true} {11119#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #65#return; {11119#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 13:50:40,137 INFO L290 TraceCheckUtils]: 24: Hoare triple {11119#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {11119#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-15 13:50:40,138 INFO L290 TraceCheckUtils]: 25: Hoare triple {11119#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11144#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:50:40,138 INFO L290 TraceCheckUtils]: 26: Hoare triple {11144#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11148#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:50:40,138 INFO L290 TraceCheckUtils]: 27: Hoare triple {11148#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11148#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:50:40,138 INFO L272 TraceCheckUtils]: 28: Hoare triple {11148#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11063#true} is VALID [2022-04-15 13:50:40,139 INFO L290 TraceCheckUtils]: 29: Hoare triple {11063#true} ~cond := #in~cond; {11158#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:50:40,139 INFO L290 TraceCheckUtils]: 30: Hoare triple {11158#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:50:40,139 INFO L290 TraceCheckUtils]: 31: Hoare triple {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:50:40,140 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} {11148#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {11148#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:50:40,151 INFO L290 TraceCheckUtils]: 33: Hoare triple {11148#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {11148#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:50:40,152 INFO L290 TraceCheckUtils]: 34: Hoare triple {11148#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11175#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} is VALID [2022-04-15 13:50:40,153 INFO L290 TraceCheckUtils]: 35: Hoare triple {11175#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 1) main_~x~0) 0) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11179#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} is VALID [2022-04-15 13:50:40,153 INFO L290 TraceCheckUtils]: 36: Hoare triple {11179#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11183#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 13:50:40,153 INFO L272 TraceCheckUtils]: 37: Hoare triple {11183#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11063#true} is VALID [2022-04-15 13:50:40,154 INFO L290 TraceCheckUtils]: 38: Hoare triple {11063#true} ~cond := #in~cond; {11158#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:50:40,154 INFO L290 TraceCheckUtils]: 39: Hoare triple {11158#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:50:40,154 INFO L290 TraceCheckUtils]: 40: Hoare triple {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:50:40,156 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} {11183#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {11199#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} is VALID [2022-04-15 13:50:40,156 INFO L290 TraceCheckUtils]: 42: Hoare triple {11199#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} assume !!(~x~0 <= ~X~0); {11199#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} is VALID [2022-04-15 13:50:40,157 INFO L290 TraceCheckUtils]: 43: Hoare triple {11199#(and (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {11206#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (< (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)))} is VALID [2022-04-15 13:50:40,159 INFO L290 TraceCheckUtils]: 44: Hoare triple {11206#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~v~0 (+ (* main_~Y~0 main_~x~0 2) (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (< (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11210#(and (= (+ main_~x~0 (- 3)) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (< (* 2 (* main_~Y~0 main_~x~0)) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)))} is VALID [2022-04-15 13:50:40,161 INFO L290 TraceCheckUtils]: 45: Hoare triple {11210#(and (= (+ main_~x~0 (- 3)) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2) (* (- 2) main_~X~0 main_~y~0) (* (+ (- 1) main_~x~0) main_~Y~0 2)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= main_~v~0 (+ (* (- 1) main_~X~0) (* (- 2) main_~X~0 main_~y~0) (* main_~Y~0 4) (* (+ (- 1) main_~x~0) main_~Y~0 2))) (not (< (* main_~Y~0 4) (* main_~X~0 3))) (< (* 2 (* main_~Y~0 main_~x~0)) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11214#(and (= (* main_~Y~0 3) main_~yx~0) (= (* main_~Y~0 8) (+ (* 2 (* (div (* main_~X~0 2) main_~X~0) main_~X~0)) main_~X~0 main_~v~0)) (= (* (div (* main_~X~0 2) main_~X~0) main_~X~0) main_~xy~0) (< (* main_~Y~0 6) (+ (* 2 (* (div (* main_~X~0 2) main_~X~0) main_~X~0)) main_~X~0)) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} is VALID [2022-04-15 13:50:40,162 INFO L272 TraceCheckUtils]: 46: Hoare triple {11214#(and (= (* main_~Y~0 3) main_~yx~0) (= (* main_~Y~0 8) (+ (* 2 (* (div (* main_~X~0 2) main_~X~0) main_~X~0)) main_~X~0 main_~v~0)) (= (* (div (* main_~X~0 2) main_~X~0) main_~X~0) main_~xy~0) (< (* main_~Y~0 6) (+ (* 2 (* (div (* main_~X~0 2) main_~X~0) main_~X~0)) main_~X~0)) (not (< (* main_~Y~0 4) (* main_~X~0 3))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11218#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:50:40,162 INFO L290 TraceCheckUtils]: 47: Hoare triple {11218#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11222#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:50:40,163 INFO L290 TraceCheckUtils]: 48: Hoare triple {11222#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11064#false} is VALID [2022-04-15 13:50:40,163 INFO L290 TraceCheckUtils]: 49: Hoare triple {11064#false} assume !false; {11064#false} is VALID [2022-04-15 13:50:40,163 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 10 proven. 23 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-15 13:50:40,163 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:50:44,245 INFO L290 TraceCheckUtils]: 49: Hoare triple {11064#false} assume !false; {11064#false} is VALID [2022-04-15 13:50:44,245 INFO L290 TraceCheckUtils]: 48: Hoare triple {11222#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11064#false} is VALID [2022-04-15 13:50:44,246 INFO L290 TraceCheckUtils]: 47: Hoare triple {11218#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11222#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:50:44,246 INFO L272 TraceCheckUtils]: 46: Hoare triple {11238#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11218#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:50:44,247 INFO L290 TraceCheckUtils]: 45: Hoare triple {11242#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11238#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 13:50:44,249 INFO L290 TraceCheckUtils]: 44: Hoare triple {11246#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11242#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:50:44,249 INFO L290 TraceCheckUtils]: 43: Hoare triple {11250#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {11246#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 13:50:44,250 INFO L290 TraceCheckUtils]: 42: Hoare triple {11250#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !!(~x~0 <= ~X~0); {11250#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 13:50:44,251 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} {11257#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} #65#return; {11250#(or (not (< main_~v~0 0)) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 13:50:44,251 INFO L290 TraceCheckUtils]: 40: Hoare triple {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:50:44,251 INFO L290 TraceCheckUtils]: 39: Hoare triple {11267#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11162#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:50:44,251 INFO L290 TraceCheckUtils]: 38: Hoare triple {11063#true} ~cond := #in~cond; {11267#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 13:50:44,251 INFO L272 TraceCheckUtils]: 37: Hoare triple {11257#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11063#true} is VALID [2022-04-15 13:50:44,252 INFO L290 TraceCheckUtils]: 36: Hoare triple {11063#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11257#(or (not (< main_~v~0 0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 13:50:44,252 INFO L290 TraceCheckUtils]: 35: Hoare triple {11063#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11063#true} is VALID [2022-04-15 13:50:44,252 INFO L290 TraceCheckUtils]: 34: Hoare triple {11063#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11063#true} is VALID [2022-04-15 13:50:44,252 INFO L290 TraceCheckUtils]: 33: Hoare triple {11063#true} assume !!(~x~0 <= ~X~0); {11063#true} is VALID [2022-04-15 13:50:44,252 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11063#true} {11063#true} #65#return; {11063#true} is VALID [2022-04-15 13:50:44,253 INFO L290 TraceCheckUtils]: 31: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-15 13:50:44,253 INFO L290 TraceCheckUtils]: 30: Hoare triple {11063#true} assume !(0 == ~cond); {11063#true} is VALID [2022-04-15 13:50:44,253 INFO L290 TraceCheckUtils]: 29: Hoare triple {11063#true} ~cond := #in~cond; {11063#true} is VALID [2022-04-15 13:50:44,253 INFO L272 TraceCheckUtils]: 28: Hoare triple {11063#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11063#true} is VALID [2022-04-15 13:50:44,253 INFO L290 TraceCheckUtils]: 27: Hoare triple {11063#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11063#true} is VALID [2022-04-15 13:50:44,253 INFO L290 TraceCheckUtils]: 26: Hoare triple {11063#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {11063#true} is VALID [2022-04-15 13:50:44,253 INFO L290 TraceCheckUtils]: 25: Hoare triple {11063#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {11063#true} is VALID [2022-04-15 13:50:44,253 INFO L290 TraceCheckUtils]: 24: Hoare triple {11063#true} assume !!(~x~0 <= ~X~0); {11063#true} is VALID [2022-04-15 13:50:44,253 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11063#true} {11063#true} #65#return; {11063#true} is VALID [2022-04-15 13:50:44,253 INFO L290 TraceCheckUtils]: 22: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-15 13:50:44,253 INFO L290 TraceCheckUtils]: 21: Hoare triple {11063#true} assume !(0 == ~cond); {11063#true} is VALID [2022-04-15 13:50:44,253 INFO L290 TraceCheckUtils]: 20: Hoare triple {11063#true} ~cond := #in~cond; {11063#true} is VALID [2022-04-15 13:50:44,253 INFO L272 TraceCheckUtils]: 19: Hoare triple {11063#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {11063#true} is VALID [2022-04-15 13:50:44,253 INFO L290 TraceCheckUtils]: 18: Hoare triple {11063#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {11063#true} is VALID [2022-04-15 13:50:44,253 INFO L290 TraceCheckUtils]: 17: Hoare triple {11063#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {11063#true} is VALID [2022-04-15 13:50:44,253 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11063#true} {11063#true} #63#return; {11063#true} is VALID [2022-04-15 13:50:44,253 INFO L290 TraceCheckUtils]: 15: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-15 13:50:44,253 INFO L290 TraceCheckUtils]: 14: Hoare triple {11063#true} assume !(0 == ~cond); {11063#true} is VALID [2022-04-15 13:50:44,253 INFO L290 TraceCheckUtils]: 13: Hoare triple {11063#true} ~cond := #in~cond; {11063#true} is VALID [2022-04-15 13:50:44,253 INFO L272 TraceCheckUtils]: 12: Hoare triple {11063#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {11063#true} is VALID [2022-04-15 13:50:44,254 INFO L290 TraceCheckUtils]: 11: Hoare triple {11063#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {11063#true} is VALID [2022-04-15 13:50:44,254 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11063#true} {11063#true} #61#return; {11063#true} is VALID [2022-04-15 13:50:44,254 INFO L290 TraceCheckUtils]: 9: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-15 13:50:44,254 INFO L290 TraceCheckUtils]: 8: Hoare triple {11063#true} assume !(0 == ~cond); {11063#true} is VALID [2022-04-15 13:50:44,254 INFO L290 TraceCheckUtils]: 7: Hoare triple {11063#true} ~cond := #in~cond; {11063#true} is VALID [2022-04-15 13:50:44,254 INFO L272 TraceCheckUtils]: 6: Hoare triple {11063#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {11063#true} is VALID [2022-04-15 13:50:44,254 INFO L290 TraceCheckUtils]: 5: Hoare triple {11063#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {11063#true} is VALID [2022-04-15 13:50:44,254 INFO L272 TraceCheckUtils]: 4: Hoare triple {11063#true} call #t~ret8 := main(); {11063#true} is VALID [2022-04-15 13:50:44,254 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11063#true} {11063#true} #69#return; {11063#true} is VALID [2022-04-15 13:50:44,254 INFO L290 TraceCheckUtils]: 2: Hoare triple {11063#true} assume true; {11063#true} is VALID [2022-04-15 13:50:44,254 INFO L290 TraceCheckUtils]: 1: Hoare triple {11063#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(15, 2);call #Ultimate.allocInit(12, 3); {11063#true} is VALID [2022-04-15 13:50:44,254 INFO L272 TraceCheckUtils]: 0: Hoare triple {11063#true} call ULTIMATE.init(); {11063#true} is VALID [2022-04-15 13:50:44,254 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-15 13:50:44,254 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:50:44,254 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1626606277] [2022-04-15 13:50:44,254 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:50:44,255 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [458418741] [2022-04-15 13:50:44,255 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [458418741] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:50:44,255 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:50:44,255 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 11] total 22 [2022-04-15 13:50:44,255 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:50:44,255 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [9578265] [2022-04-15 13:50:44,255 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [9578265] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:50:44,255 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:50:44,255 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 13:50:44,255 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [828702360] [2022-04-15 13:50:44,255 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:50:44,255 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 13:50:44,255 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:50:44,256 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:50:44,292 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:50:44,292 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 13:50:44,292 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:50:44,293 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 13:50:44,293 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=399, Unknown=0, NotChecked=0, Total=462 [2022-04-15 13:50:44,293 INFO L87 Difference]: Start difference. First operand 111 states and 127 transitions. Second operand has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:50:46,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:50:46,268 INFO L93 Difference]: Finished difference Result 134 states and 156 transitions. [2022-04-15 13:50:46,268 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 13:50:46,268 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 13:50:46,268 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:50:46,268 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:50:46,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 77 transitions. [2022-04-15 13:50:46,269 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:50:46,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 77 transitions. [2022-04-15 13:50:46,270 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 77 transitions. [2022-04-15 13:50:46,342 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:50:46,343 INFO L225 Difference]: With dead ends: 134 [2022-04-15 13:50:46,343 INFO L226 Difference]: Without dead ends: 121 [2022-04-15 13:50:46,344 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 77 SyntacticMatches, 2 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 54 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=93, Invalid=557, Unknown=0, NotChecked=0, Total=650 [2022-04-15 13:50:46,344 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 15 mSDsluCounter, 200 mSDsCounter, 0 mSdLazyCounter, 490 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 227 SdHoareTripleChecker+Invalid, 495 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 490 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-15 13:50:46,344 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 227 Invalid, 495 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 490 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-15 13:50:46,345 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-15 13:50:46,580 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 121. [2022-04-15 13:50:46,580 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:50:46,581 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 93 states have internal predecessors, (100), 20 states have call successors, (20), 12 states have call predecessors, (20), 11 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 13:50:46,581 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 93 states have internal predecessors, (100), 20 states have call successors, (20), 12 states have call predecessors, (20), 11 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 13:50:46,581 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 93 states have internal predecessors, (100), 20 states have call successors, (20), 12 states have call predecessors, (20), 11 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 13:50:46,583 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:50:46,583 INFO L93 Difference]: Finished difference Result 121 states and 138 transitions. [2022-04-15 13:50:46,583 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 138 transitions. [2022-04-15 13:50:46,583 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:50:46,583 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:50:46,583 INFO L74 IsIncluded]: Start isIncluded. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 93 states have internal predecessors, (100), 20 states have call successors, (20), 12 states have call predecessors, (20), 11 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) Second operand 121 states. [2022-04-15 13:50:46,583 INFO L87 Difference]: Start difference. First operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 93 states have internal predecessors, (100), 20 states have call successors, (20), 12 states have call predecessors, (20), 11 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) Second operand 121 states. [2022-04-15 13:50:46,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:50:46,586 INFO L93 Difference]: Finished difference Result 121 states and 138 transitions. [2022-04-15 13:50:46,586 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 138 transitions. [2022-04-15 13:50:46,586 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:50:46,586 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:50:46,586 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:50:46,586 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:50:46,586 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 121 states, 89 states have (on average 1.1235955056179776) internal successors, (100), 93 states have internal predecessors, (100), 20 states have call successors, (20), 12 states have call predecessors, (20), 11 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 13:50:46,588 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 138 transitions. [2022-04-15 13:50:46,588 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 138 transitions. Word has length 50 [2022-04-15 13:50:46,588 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:50:46,588 INFO L478 AbstractCegarLoop]: Abstraction has 121 states and 138 transitions. [2022-04-15 13:50:46,588 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 14 states have (on average 2.142857142857143) internal successors, (30), 15 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:50:46,588 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 138 transitions. [2022-04-15 13:50:50,906 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 136 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 13:50:50,906 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 138 transitions. [2022-04-15 13:50:50,906 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 13:50:50,907 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:50:50,907 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 13:50:50,922 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-15 13:50:51,107 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-15 13:50:51,107 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:50:51,107 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:50:51,107 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 5 times [2022-04-15 13:50:51,108 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:50:51,108 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [795478169] [2022-04-15 13:50:51,108 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:50:51,108 INFO L85 PathProgramCache]: Analyzing trace with hash 431449587, now seen corresponding path program 6 times [2022-04-15 13:50:51,108 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:50:51,108 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [612026365] [2022-04-15 13:50:51,108 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:50:51,108 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:50:51,119 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:50:51,119 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1884277279] [2022-04-15 13:50:51,119 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 13:50:51,119 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:50:51,119 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:50:51,120 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:50:51,121 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-15 13:50:51,168 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 13:50:51,169 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:50:51,169 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 54 conjunts are in the unsatisfiable core [2022-04-15 13:50:51,180 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:50:51,180 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:50:51,800 INFO L272 TraceCheckUtils]: 0: Hoare triple {12144#true} call ULTIMATE.init(); {12144#true} is VALID [2022-04-15 13:50:51,800 INFO L290 TraceCheckUtils]: 1: Hoare triple {12144#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(15, 2);call #Ultimate.allocInit(12, 3); {12144#true} is VALID [2022-04-15 13:50:51,800 INFO L290 TraceCheckUtils]: 2: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-15 13:50:51,800 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12144#true} {12144#true} #69#return; {12144#true} is VALID [2022-04-15 13:50:51,800 INFO L272 TraceCheckUtils]: 4: Hoare triple {12144#true} call #t~ret8 := main(); {12144#true} is VALID [2022-04-15 13:50:51,800 INFO L290 TraceCheckUtils]: 5: Hoare triple {12144#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {12144#true} is VALID [2022-04-15 13:50:51,800 INFO L272 TraceCheckUtils]: 6: Hoare triple {12144#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {12144#true} is VALID [2022-04-15 13:50:51,800 INFO L290 TraceCheckUtils]: 7: Hoare triple {12144#true} ~cond := #in~cond; {12144#true} is VALID [2022-04-15 13:50:51,800 INFO L290 TraceCheckUtils]: 8: Hoare triple {12144#true} assume !(0 == ~cond); {12144#true} is VALID [2022-04-15 13:50:51,800 INFO L290 TraceCheckUtils]: 9: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-15 13:50:51,800 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12144#true} {12144#true} #61#return; {12144#true} is VALID [2022-04-15 13:50:51,800 INFO L290 TraceCheckUtils]: 11: Hoare triple {12144#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {12144#true} is VALID [2022-04-15 13:50:51,801 INFO L272 TraceCheckUtils]: 12: Hoare triple {12144#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {12144#true} is VALID [2022-04-15 13:50:51,801 INFO L290 TraceCheckUtils]: 13: Hoare triple {12144#true} ~cond := #in~cond; {12144#true} is VALID [2022-04-15 13:50:51,801 INFO L290 TraceCheckUtils]: 14: Hoare triple {12144#true} assume !(0 == ~cond); {12144#true} is VALID [2022-04-15 13:50:51,801 INFO L290 TraceCheckUtils]: 15: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-15 13:50:51,801 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12144#true} {12144#true} #63#return; {12144#true} is VALID [2022-04-15 13:50:51,801 INFO L290 TraceCheckUtils]: 17: Hoare triple {12144#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {12200#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:50:51,801 INFO L290 TraceCheckUtils]: 18: Hoare triple {12200#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12200#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:50:51,801 INFO L272 TraceCheckUtils]: 19: Hoare triple {12200#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12144#true} is VALID [2022-04-15 13:50:51,802 INFO L290 TraceCheckUtils]: 20: Hoare triple {12144#true} ~cond := #in~cond; {12144#true} is VALID [2022-04-15 13:50:51,802 INFO L290 TraceCheckUtils]: 21: Hoare triple {12144#true} assume !(0 == ~cond); {12144#true} is VALID [2022-04-15 13:50:51,802 INFO L290 TraceCheckUtils]: 22: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-15 13:50:51,802 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12144#true} {12200#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {12200#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:50:51,803 INFO L290 TraceCheckUtils]: 24: Hoare triple {12200#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {12200#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:50:51,803 INFO L290 TraceCheckUtils]: 25: Hoare triple {12200#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12225#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 13:50:51,804 INFO L290 TraceCheckUtils]: 26: Hoare triple {12225#(and (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12229#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 13:50:51,804 INFO L290 TraceCheckUtils]: 27: Hoare triple {12229#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12233#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 13:50:51,804 INFO L272 TraceCheckUtils]: 28: Hoare triple {12233#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12144#true} is VALID [2022-04-15 13:50:51,804 INFO L290 TraceCheckUtils]: 29: Hoare triple {12144#true} ~cond := #in~cond; {12240#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:50:51,805 INFO L290 TraceCheckUtils]: 30: Hoare triple {12240#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:50:51,805 INFO L290 TraceCheckUtils]: 31: Hoare triple {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:50:51,805 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} {12233#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {12229#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 13:50:51,806 INFO L290 TraceCheckUtils]: 33: Hoare triple {12229#(and (= (+ (- 1) main_~x~0) 0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {12254#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} is VALID [2022-04-15 13:50:51,806 INFO L290 TraceCheckUtils]: 34: Hoare triple {12254#(and (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0) (= (+ (- 1) main_~y~0) 0) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12258#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0))} is VALID [2022-04-15 13:50:51,807 INFO L290 TraceCheckUtils]: 35: Hoare triple {12258#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 1) main_~x~0) 0) (<= main_~x~0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12262#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 13:50:51,807 INFO L290 TraceCheckUtils]: 36: Hoare triple {12262#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12266#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 13:50:51,807 INFO L272 TraceCheckUtils]: 37: Hoare triple {12266#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12144#true} is VALID [2022-04-15 13:50:51,808 INFO L290 TraceCheckUtils]: 38: Hoare triple {12144#true} ~cond := #in~cond; {12240#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:50:51,808 INFO L290 TraceCheckUtils]: 39: Hoare triple {12240#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:50:51,808 INFO L290 TraceCheckUtils]: 40: Hoare triple {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:50:51,809 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} {12266#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} #65#return; {12262#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 13:50:51,809 INFO L290 TraceCheckUtils]: 42: Hoare triple {12262#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} assume !!(~x~0 <= ~X~0); {12262#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 13:50:51,810 INFO L290 TraceCheckUtils]: 43: Hoare triple {12262#(and (= main_~y~0 2) (= main_~v~0 (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12288#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (= main_~y~0 3) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 13:50:51,810 INFO L290 TraceCheckUtils]: 44: Hoare triple {12288#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ (- 2) main_~x~0) 0) (= main_~y~0 3) (<= main_~x~0 (+ main_~X~0 1)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12292#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ main_~x~0 (- 3)) 0) (= main_~y~0 3) (<= main_~x~0 (+ main_~X~0 2)))} is VALID [2022-04-15 13:50:51,811 INFO L290 TraceCheckUtils]: 45: Hoare triple {12292#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (+ main_~x~0 (- 3)) 0) (= main_~y~0 3) (<= main_~x~0 (+ main_~X~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12296#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (* main_~Y~0 3) main_~yx~0) (= main_~xy~0 (* main_~X~0 3)) (<= 1 main_~X~0))} is VALID [2022-04-15 13:50:51,812 INFO L272 TraceCheckUtils]: 46: Hoare triple {12296#(and (= (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0)) (+ (* main_~Y~0 6) (* main_~X~0 (- 5)))) (= (* main_~Y~0 3) main_~yx~0) (= main_~xy~0 (* main_~X~0 3)) (<= 1 main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12300#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:50:51,812 INFO L290 TraceCheckUtils]: 47: Hoare triple {12300#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12304#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:50:51,812 INFO L290 TraceCheckUtils]: 48: Hoare triple {12304#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12145#false} is VALID [2022-04-15 13:50:51,812 INFO L290 TraceCheckUtils]: 49: Hoare triple {12145#false} assume !false; {12145#false} is VALID [2022-04-15 13:50:51,812 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 10 proven. 23 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-15 13:50:51,812 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:50:56,525 INFO L290 TraceCheckUtils]: 49: Hoare triple {12145#false} assume !false; {12145#false} is VALID [2022-04-15 13:50:56,526 INFO L290 TraceCheckUtils]: 48: Hoare triple {12304#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12145#false} is VALID [2022-04-15 13:50:56,526 INFO L290 TraceCheckUtils]: 47: Hoare triple {12300#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12304#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:50:56,527 INFO L272 TraceCheckUtils]: 46: Hoare triple {12320#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12300#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:50:56,527 INFO L290 TraceCheckUtils]: 45: Hoare triple {12324#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12320#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 13:50:56,529 INFO L290 TraceCheckUtils]: 44: Hoare triple {12328#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12324#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:50:56,531 INFO L290 TraceCheckUtils]: 43: Hoare triple {12324#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12328#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 13:50:56,531 INFO L290 TraceCheckUtils]: 42: Hoare triple {12324#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {12324#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:50:56,532 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} {12338#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {12324#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:50:56,532 INFO L290 TraceCheckUtils]: 40: Hoare triple {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:50:56,532 INFO L290 TraceCheckUtils]: 39: Hoare triple {12348#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12244#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:50:56,533 INFO L290 TraceCheckUtils]: 38: Hoare triple {12144#true} ~cond := #in~cond; {12348#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 13:50:56,533 INFO L272 TraceCheckUtils]: 37: Hoare triple {12338#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12144#true} is VALID [2022-04-15 13:50:56,534 INFO L290 TraceCheckUtils]: 36: Hoare triple {12144#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12338#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-15 13:50:56,534 INFO L290 TraceCheckUtils]: 35: Hoare triple {12144#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12144#true} is VALID [2022-04-15 13:50:56,534 INFO L290 TraceCheckUtils]: 34: Hoare triple {12144#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12144#true} is VALID [2022-04-15 13:50:56,534 INFO L290 TraceCheckUtils]: 33: Hoare triple {12144#true} assume !!(~x~0 <= ~X~0); {12144#true} is VALID [2022-04-15 13:50:56,534 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12144#true} {12144#true} #65#return; {12144#true} is VALID [2022-04-15 13:50:56,534 INFO L290 TraceCheckUtils]: 31: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-15 13:50:56,534 INFO L290 TraceCheckUtils]: 30: Hoare triple {12144#true} assume !(0 == ~cond); {12144#true} is VALID [2022-04-15 13:50:56,534 INFO L290 TraceCheckUtils]: 29: Hoare triple {12144#true} ~cond := #in~cond; {12144#true} is VALID [2022-04-15 13:50:56,534 INFO L272 TraceCheckUtils]: 28: Hoare triple {12144#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12144#true} is VALID [2022-04-15 13:50:56,534 INFO L290 TraceCheckUtils]: 27: Hoare triple {12144#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12144#true} is VALID [2022-04-15 13:50:56,534 INFO L290 TraceCheckUtils]: 26: Hoare triple {12144#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {12144#true} is VALID [2022-04-15 13:50:56,534 INFO L290 TraceCheckUtils]: 25: Hoare triple {12144#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {12144#true} is VALID [2022-04-15 13:50:56,534 INFO L290 TraceCheckUtils]: 24: Hoare triple {12144#true} assume !!(~x~0 <= ~X~0); {12144#true} is VALID [2022-04-15 13:50:56,534 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12144#true} {12144#true} #65#return; {12144#true} is VALID [2022-04-15 13:50:56,534 INFO L290 TraceCheckUtils]: 22: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-15 13:50:56,534 INFO L290 TraceCheckUtils]: 21: Hoare triple {12144#true} assume !(0 == ~cond); {12144#true} is VALID [2022-04-15 13:50:56,534 INFO L290 TraceCheckUtils]: 20: Hoare triple {12144#true} ~cond := #in~cond; {12144#true} is VALID [2022-04-15 13:50:56,535 INFO L272 TraceCheckUtils]: 19: Hoare triple {12144#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {12144#true} is VALID [2022-04-15 13:50:56,535 INFO L290 TraceCheckUtils]: 18: Hoare triple {12144#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {12144#true} is VALID [2022-04-15 13:50:56,535 INFO L290 TraceCheckUtils]: 17: Hoare triple {12144#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {12144#true} is VALID [2022-04-15 13:50:56,535 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12144#true} {12144#true} #63#return; {12144#true} is VALID [2022-04-15 13:50:56,535 INFO L290 TraceCheckUtils]: 15: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-15 13:50:56,535 INFO L290 TraceCheckUtils]: 14: Hoare triple {12144#true} assume !(0 == ~cond); {12144#true} is VALID [2022-04-15 13:50:56,535 INFO L290 TraceCheckUtils]: 13: Hoare triple {12144#true} ~cond := #in~cond; {12144#true} is VALID [2022-04-15 13:50:56,535 INFO L272 TraceCheckUtils]: 12: Hoare triple {12144#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {12144#true} is VALID [2022-04-15 13:50:56,535 INFO L290 TraceCheckUtils]: 11: Hoare triple {12144#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {12144#true} is VALID [2022-04-15 13:50:56,535 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12144#true} {12144#true} #61#return; {12144#true} is VALID [2022-04-15 13:50:56,535 INFO L290 TraceCheckUtils]: 9: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-15 13:50:56,535 INFO L290 TraceCheckUtils]: 8: Hoare triple {12144#true} assume !(0 == ~cond); {12144#true} is VALID [2022-04-15 13:50:56,535 INFO L290 TraceCheckUtils]: 7: Hoare triple {12144#true} ~cond := #in~cond; {12144#true} is VALID [2022-04-15 13:50:56,535 INFO L272 TraceCheckUtils]: 6: Hoare triple {12144#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {12144#true} is VALID [2022-04-15 13:50:56,535 INFO L290 TraceCheckUtils]: 5: Hoare triple {12144#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {12144#true} is VALID [2022-04-15 13:50:56,535 INFO L272 TraceCheckUtils]: 4: Hoare triple {12144#true} call #t~ret8 := main(); {12144#true} is VALID [2022-04-15 13:50:56,535 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12144#true} {12144#true} #69#return; {12144#true} is VALID [2022-04-15 13:50:56,535 INFO L290 TraceCheckUtils]: 2: Hoare triple {12144#true} assume true; {12144#true} is VALID [2022-04-15 13:50:56,535 INFO L290 TraceCheckUtils]: 1: Hoare triple {12144#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(15, 2);call #Ultimate.allocInit(12, 3); {12144#true} is VALID [2022-04-15 13:50:56,536 INFO L272 TraceCheckUtils]: 0: Hoare triple {12144#true} call ULTIMATE.init(); {12144#true} is VALID [2022-04-15 13:50:56,536 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 24 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-15 13:50:56,536 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:50:56,536 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [612026365] [2022-04-15 13:50:56,536 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:50:56,536 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1884277279] [2022-04-15 13:50:56,536 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1884277279] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:50:56,536 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:50:56,536 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 10] total 22 [2022-04-15 13:50:56,536 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:50:56,536 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [795478169] [2022-04-15 13:50:56,536 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [795478169] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:50:56,536 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:50:56,536 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-15 13:50:56,537 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [581538513] [2022-04-15 13:50:56,537 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:50:56,537 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 13:50:56,537 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:50:56,537 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:50:56,575 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:50:56,575 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-15 13:50:56,576 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:50:56,576 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-15 13:50:56,576 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=393, Unknown=0, NotChecked=0, Total=462 [2022-04-15 13:50:56,576 INFO L87 Difference]: Start difference. First operand 121 states and 138 transitions. Second operand has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:50:57,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:50:57,956 INFO L93 Difference]: Finished difference Result 142 states and 159 transitions. [2022-04-15 13:50:57,956 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-15 13:50:57,956 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 50 [2022-04-15 13:50:57,956 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:50:57,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:50:57,957 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 65 transitions. [2022-04-15 13:50:57,957 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:50:57,957 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 65 transitions. [2022-04-15 13:50:57,958 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 65 transitions. [2022-04-15 13:50:58,020 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:50:58,021 INFO L225 Difference]: With dead ends: 142 [2022-04-15 13:50:58,021 INFO L226 Difference]: Without dead ends: 140 [2022-04-15 13:50:58,022 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 75 SyntacticMatches, 4 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 94 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=97, Invalid=553, Unknown=0, NotChecked=0, Total=650 [2022-04-15 13:50:58,022 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 20 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 502 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 214 SdHoareTripleChecker+Invalid, 510 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 502 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 13:50:58,022 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 214 Invalid, 510 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 502 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 13:50:58,023 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 140 states. [2022-04-15 13:50:58,270 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 140 to 129. [2022-04-15 13:50:58,270 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:50:58,270 INFO L82 GeneralOperation]: Start isEquivalent. First operand 140 states. Second operand has 129 states, 95 states have (on average 1.1157894736842104) internal successors, (106), 99 states have internal predecessors, (106), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 13:50:58,271 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand has 129 states, 95 states have (on average 1.1157894736842104) internal successors, (106), 99 states have internal predecessors, (106), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 13:50:58,271 INFO L87 Difference]: Start difference. First operand 140 states. Second operand has 129 states, 95 states have (on average 1.1157894736842104) internal successors, (106), 99 states have internal predecessors, (106), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 13:50:58,273 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:50:58,273 INFO L93 Difference]: Finished difference Result 140 states and 157 transitions. [2022-04-15 13:50:58,273 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 157 transitions. [2022-04-15 13:50:58,273 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:50:58,273 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:50:58,273 INFO L74 IsIncluded]: Start isIncluded. First operand has 129 states, 95 states have (on average 1.1157894736842104) internal successors, (106), 99 states have internal predecessors, (106), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) Second operand 140 states. [2022-04-15 13:50:58,273 INFO L87 Difference]: Start difference. First operand has 129 states, 95 states have (on average 1.1157894736842104) internal successors, (106), 99 states have internal predecessors, (106), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) Second operand 140 states. [2022-04-15 13:50:58,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:50:58,275 INFO L93 Difference]: Finished difference Result 140 states and 157 transitions. [2022-04-15 13:50:58,275 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 157 transitions. [2022-04-15 13:50:58,275 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:50:58,275 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:50:58,275 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:50:58,275 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:50:58,275 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 129 states, 95 states have (on average 1.1157894736842104) internal successors, (106), 99 states have internal predecessors, (106), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 15 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 13:50:58,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 144 transitions. [2022-04-15 13:50:58,277 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 144 transitions. Word has length 50 [2022-04-15 13:50:58,277 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:50:58,277 INFO L478 AbstractCegarLoop]: Abstraction has 129 states and 144 transitions. [2022-04-15 13:50:58,277 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 14 states have (on average 2.142857142857143) internal successors, (30), 16 states have internal predecessors, (30), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:50:58,277 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 129 states and 144 transitions. [2022-04-15 13:51:02,612 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 144 edges. 142 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 13:51:02,612 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 144 transitions. [2022-04-15 13:51:02,612 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-15 13:51:02,612 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:51:02,612 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 13:51:02,630 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-15 13:51:02,823 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-15 13:51:02,824 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:51:02,824 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:51:02,824 INFO L85 PathProgramCache]: Analyzing trace with hash 850213676, now seen corresponding path program 3 times [2022-04-15 13:51:02,824 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:51:02,824 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1130796220] [2022-04-15 13:51:02,824 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:51:02,824 INFO L85 PathProgramCache]: Analyzing trace with hash 850213676, now seen corresponding path program 4 times [2022-04-15 13:51:02,824 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:51:02,824 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1278192283] [2022-04-15 13:51:02,824 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:51:02,825 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:51:02,834 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:51:02,834 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [580418423] [2022-04-15 13:51:02,834 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 13:51:02,834 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:51:02,834 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:51:02,835 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:51:02,836 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-15 13:51:02,868 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 13:51:02,868 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:51:02,869 INFO L263 TraceCheckSpWp]: Trace formula consists of 118 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 13:51:02,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:51:02,880 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:51:03,682 INFO L272 TraceCheckUtils]: 0: Hoare triple {13295#true} call ULTIMATE.init(); {13295#true} is VALID [2022-04-15 13:51:03,683 INFO L290 TraceCheckUtils]: 1: Hoare triple {13295#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(15, 2);call #Ultimate.allocInit(12, 3); {13295#true} is VALID [2022-04-15 13:51:03,683 INFO L290 TraceCheckUtils]: 2: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 13:51:03,683 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13295#true} {13295#true} #69#return; {13295#true} is VALID [2022-04-15 13:51:03,683 INFO L272 TraceCheckUtils]: 4: Hoare triple {13295#true} call #t~ret8 := main(); {13295#true} is VALID [2022-04-15 13:51:03,683 INFO L290 TraceCheckUtils]: 5: Hoare triple {13295#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {13295#true} is VALID [2022-04-15 13:51:03,683 INFO L272 TraceCheckUtils]: 6: Hoare triple {13295#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {13295#true} is VALID [2022-04-15 13:51:03,683 INFO L290 TraceCheckUtils]: 7: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-15 13:51:03,683 INFO L290 TraceCheckUtils]: 8: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-15 13:51:03,683 INFO L290 TraceCheckUtils]: 9: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 13:51:03,683 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13295#true} {13295#true} #61#return; {13295#true} is VALID [2022-04-15 13:51:03,683 INFO L290 TraceCheckUtils]: 11: Hoare triple {13295#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {13295#true} is VALID [2022-04-15 13:51:03,683 INFO L272 TraceCheckUtils]: 12: Hoare triple {13295#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {13295#true} is VALID [2022-04-15 13:51:03,683 INFO L290 TraceCheckUtils]: 13: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-15 13:51:03,683 INFO L290 TraceCheckUtils]: 14: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-15 13:51:03,683 INFO L290 TraceCheckUtils]: 15: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 13:51:03,684 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13295#true} {13295#true} #63#return; {13295#true} is VALID [2022-04-15 13:51:03,684 INFO L290 TraceCheckUtils]: 17: Hoare triple {13295#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {13351#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 13:51:03,684 INFO L290 TraceCheckUtils]: 18: Hoare triple {13351#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13351#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 13:51:03,684 INFO L272 TraceCheckUtils]: 19: Hoare triple {13351#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13295#true} is VALID [2022-04-15 13:51:03,684 INFO L290 TraceCheckUtils]: 20: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-15 13:51:03,684 INFO L290 TraceCheckUtils]: 21: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-15 13:51:03,685 INFO L290 TraceCheckUtils]: 22: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 13:51:03,685 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13295#true} {13351#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #65#return; {13351#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 13:51:03,685 INFO L290 TraceCheckUtils]: 24: Hoare triple {13351#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {13351#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-15 13:51:03,686 INFO L290 TraceCheckUtils]: 25: Hoare triple {13351#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13376#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 0))} is VALID [2022-04-15 13:51:03,687 INFO L290 TraceCheckUtils]: 26: Hoare triple {13376#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-15 13:51:03,688 INFO L290 TraceCheckUtils]: 27: Hoare triple {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-15 13:51:03,688 INFO L272 TraceCheckUtils]: 28: Hoare triple {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13295#true} is VALID [2022-04-15 13:51:03,688 INFO L290 TraceCheckUtils]: 29: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-15 13:51:03,688 INFO L290 TraceCheckUtils]: 30: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-15 13:51:03,688 INFO L290 TraceCheckUtils]: 31: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 13:51:03,688 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13295#true} {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} #65#return; {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-15 13:51:03,689 INFO L290 TraceCheckUtils]: 33: Hoare triple {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} assume !!(~x~0 <= ~X~0); {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} is VALID [2022-04-15 13:51:03,690 INFO L290 TraceCheckUtils]: 34: Hoare triple {13380#(and (<= (* main_~Y~0 4) (+ main_~X~0 main_~v~0)) (<= main_~x~0 1))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13405#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)))} is VALID [2022-04-15 13:51:03,691 INFO L290 TraceCheckUtils]: 35: Hoare triple {13405#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-15 13:51:03,691 INFO L290 TraceCheckUtils]: 36: Hoare triple {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-15 13:51:03,691 INFO L272 TraceCheckUtils]: 37: Hoare triple {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13295#true} is VALID [2022-04-15 13:51:03,691 INFO L290 TraceCheckUtils]: 38: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-15 13:51:03,691 INFO L290 TraceCheckUtils]: 39: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-15 13:51:03,691 INFO L290 TraceCheckUtils]: 40: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 13:51:03,692 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13295#true} {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} #65#return; {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-15 13:51:03,692 INFO L290 TraceCheckUtils]: 42: Hoare triple {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} assume !!(~x~0 <= ~X~0); {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} is VALID [2022-04-15 13:51:03,693 INFO L290 TraceCheckUtils]: 43: Hoare triple {13409#(and (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 4) 1)) (<= main_~x~0 2))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {13434#(and (< 0 (div (+ (- 1) main_~X~0) 4)) (<= main_~x~0 2))} is VALID [2022-04-15 13:51:03,694 INFO L290 TraceCheckUtils]: 44: Hoare triple {13434#(and (< 0 (div (+ (- 1) main_~X~0) 4)) (<= main_~x~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13438#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-15 13:51:03,694 INFO L290 TraceCheckUtils]: 45: Hoare triple {13438#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13438#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-15 13:51:03,694 INFO L272 TraceCheckUtils]: 46: Hoare triple {13438#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13295#true} is VALID [2022-04-15 13:51:03,694 INFO L290 TraceCheckUtils]: 47: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-15 13:51:03,694 INFO L290 TraceCheckUtils]: 48: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-15 13:51:03,695 INFO L290 TraceCheckUtils]: 49: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 13:51:03,696 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13295#true} {13438#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} #65#return; {13438#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} is VALID [2022-04-15 13:51:03,697 INFO L290 TraceCheckUtils]: 51: Hoare triple {13438#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 4)))} assume !(~x~0 <= ~X~0); {13296#false} is VALID [2022-04-15 13:51:03,697 INFO L290 TraceCheckUtils]: 52: Hoare triple {13296#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {13296#false} is VALID [2022-04-15 13:51:03,697 INFO L272 TraceCheckUtils]: 53: Hoare triple {13296#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {13296#false} is VALID [2022-04-15 13:51:03,697 INFO L290 TraceCheckUtils]: 54: Hoare triple {13296#false} ~cond := #in~cond; {13296#false} is VALID [2022-04-15 13:51:03,697 INFO L290 TraceCheckUtils]: 55: Hoare triple {13296#false} assume 0 == ~cond; {13296#false} is VALID [2022-04-15 13:51:03,697 INFO L290 TraceCheckUtils]: 56: Hoare triple {13296#false} assume !false; {13296#false} is VALID [2022-04-15 13:51:03,697 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 24 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-15 13:51:03,697 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:51:04,073 INFO L290 TraceCheckUtils]: 56: Hoare triple {13296#false} assume !false; {13296#false} is VALID [2022-04-15 13:51:04,074 INFO L290 TraceCheckUtils]: 55: Hoare triple {13296#false} assume 0 == ~cond; {13296#false} is VALID [2022-04-15 13:51:04,074 INFO L290 TraceCheckUtils]: 54: Hoare triple {13296#false} ~cond := #in~cond; {13296#false} is VALID [2022-04-15 13:51:04,074 INFO L272 TraceCheckUtils]: 53: Hoare triple {13296#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {13296#false} is VALID [2022-04-15 13:51:04,074 INFO L290 TraceCheckUtils]: 52: Hoare triple {13296#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {13296#false} is VALID [2022-04-15 13:51:04,074 INFO L290 TraceCheckUtils]: 51: Hoare triple {13490#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {13296#false} is VALID [2022-04-15 13:51:04,075 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13295#true} {13490#(<= main_~x~0 main_~X~0)} #65#return; {13490#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 13:51:04,075 INFO L290 TraceCheckUtils]: 49: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 13:51:04,075 INFO L290 TraceCheckUtils]: 48: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-15 13:51:04,075 INFO L290 TraceCheckUtils]: 47: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-15 13:51:04,075 INFO L272 TraceCheckUtils]: 46: Hoare triple {13490#(<= main_~x~0 main_~X~0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13295#true} is VALID [2022-04-15 13:51:04,075 INFO L290 TraceCheckUtils]: 45: Hoare triple {13490#(<= main_~x~0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13490#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 13:51:04,076 INFO L290 TraceCheckUtils]: 44: Hoare triple {13512#(<= (+ main_~x~0 1) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13490#(<= main_~x~0 main_~X~0)} is VALID [2022-04-15 13:51:04,076 INFO L290 TraceCheckUtils]: 43: Hoare triple {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {13512#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-15 13:51:04,077 INFO L290 TraceCheckUtils]: 42: Hoare triple {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !!(~x~0 <= ~X~0); {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 13:51:04,077 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13295#true} {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} #65#return; {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 13:51:04,077 INFO L290 TraceCheckUtils]: 40: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 13:51:04,077 INFO L290 TraceCheckUtils]: 39: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-15 13:51:04,077 INFO L290 TraceCheckUtils]: 38: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-15 13:51:04,077 INFO L272 TraceCheckUtils]: 37: Hoare triple {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13295#true} is VALID [2022-04-15 13:51:04,078 INFO L290 TraceCheckUtils]: 36: Hoare triple {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 13:51:04,078 INFO L290 TraceCheckUtils]: 35: Hoare triple {13541#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13516#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 13:51:04,079 INFO L290 TraceCheckUtils]: 34: Hoare triple {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13541#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-15 13:51:04,079 INFO L290 TraceCheckUtils]: 33: Hoare triple {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume !!(~x~0 <= ~X~0); {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-15 13:51:04,080 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {13295#true} {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} #65#return; {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-15 13:51:04,080 INFO L290 TraceCheckUtils]: 31: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 13:51:04,080 INFO L290 TraceCheckUtils]: 30: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-15 13:51:04,080 INFO L290 TraceCheckUtils]: 29: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-15 13:51:04,080 INFO L272 TraceCheckUtils]: 28: Hoare triple {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13295#true} is VALID [2022-04-15 13:51:04,080 INFO L290 TraceCheckUtils]: 27: Hoare triple {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-15 13:51:04,081 INFO L290 TraceCheckUtils]: 26: Hoare triple {13570#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {13545#(or (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)))} is VALID [2022-04-15 13:51:04,082 INFO L290 TraceCheckUtils]: 25: Hoare triple {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {13570#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-15 13:51:04,082 INFO L290 TraceCheckUtils]: 24: Hoare triple {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} assume !!(~x~0 <= ~X~0); {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-15 13:51:04,083 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13295#true} {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} #65#return; {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-15 13:51:04,083 INFO L290 TraceCheckUtils]: 22: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 13:51:04,083 INFO L290 TraceCheckUtils]: 21: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-15 13:51:04,083 INFO L290 TraceCheckUtils]: 20: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-15 13:51:04,083 INFO L272 TraceCheckUtils]: 19: Hoare triple {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {13295#true} is VALID [2022-04-15 13:51:04,083 INFO L290 TraceCheckUtils]: 18: Hoare triple {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-15 13:51:04,084 INFO L290 TraceCheckUtils]: 17: Hoare triple {13295#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {13574#(or (<= (+ main_~x~0 3) main_~X~0) (<= 0 (+ main_~v~0 (* main_~Y~0 2))) (<= (* main_~Y~0 2) 0))} is VALID [2022-04-15 13:51:04,084 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13295#true} {13295#true} #63#return; {13295#true} is VALID [2022-04-15 13:51:04,084 INFO L290 TraceCheckUtils]: 15: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 13:51:04,084 INFO L290 TraceCheckUtils]: 14: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-15 13:51:04,084 INFO L290 TraceCheckUtils]: 13: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-15 13:51:04,084 INFO L272 TraceCheckUtils]: 12: Hoare triple {13295#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {13295#true} is VALID [2022-04-15 13:51:04,084 INFO L290 TraceCheckUtils]: 11: Hoare triple {13295#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {13295#true} is VALID [2022-04-15 13:51:04,084 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13295#true} {13295#true} #61#return; {13295#true} is VALID [2022-04-15 13:51:04,084 INFO L290 TraceCheckUtils]: 9: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 13:51:04,084 INFO L290 TraceCheckUtils]: 8: Hoare triple {13295#true} assume !(0 == ~cond); {13295#true} is VALID [2022-04-15 13:51:04,085 INFO L290 TraceCheckUtils]: 7: Hoare triple {13295#true} ~cond := #in~cond; {13295#true} is VALID [2022-04-15 13:51:04,085 INFO L272 TraceCheckUtils]: 6: Hoare triple {13295#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {13295#true} is VALID [2022-04-15 13:51:04,085 INFO L290 TraceCheckUtils]: 5: Hoare triple {13295#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {13295#true} is VALID [2022-04-15 13:51:04,085 INFO L272 TraceCheckUtils]: 4: Hoare triple {13295#true} call #t~ret8 := main(); {13295#true} is VALID [2022-04-15 13:51:04,085 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13295#true} {13295#true} #69#return; {13295#true} is VALID [2022-04-15 13:51:04,085 INFO L290 TraceCheckUtils]: 2: Hoare triple {13295#true} assume true; {13295#true} is VALID [2022-04-15 13:51:04,085 INFO L290 TraceCheckUtils]: 1: Hoare triple {13295#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(15, 2);call #Ultimate.allocInit(12, 3); {13295#true} is VALID [2022-04-15 13:51:04,085 INFO L272 TraceCheckUtils]: 0: Hoare triple {13295#true} call ULTIMATE.init(); {13295#true} is VALID [2022-04-15 13:51:04,085 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 24 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-15 13:51:04,085 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:51:04,085 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1278192283] [2022-04-15 13:51:04,085 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:51:04,085 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [580418423] [2022-04-15 13:51:04,085 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [580418423] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:51:04,085 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:51:04,086 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-15 13:51:04,086 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:51:04,086 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1130796220] [2022-04-15 13:51:04,086 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1130796220] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:51:04,086 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:51:04,086 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 13:51:04,086 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1010622949] [2022-04-15 13:51:04,086 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:51:04,086 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 9 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-15 13:51:04,086 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:51:04,086 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), 9 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:51:04,129 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:51:04,129 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 13:51:04,129 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:51:04,129 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 13:51:04,129 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=179, Unknown=0, NotChecked=0, Total=240 [2022-04-15 13:51:04,129 INFO L87 Difference]: Start difference. First operand 129 states and 144 transitions. Second operand has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 9 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:51:04,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:51:04,859 INFO L93 Difference]: Finished difference Result 140 states and 155 transitions. [2022-04-15 13:51:04,860 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 13:51:04,860 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 9 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-15 13:51:04,860 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:51:04,860 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 9 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:51:04,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-15 13:51:04,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 9 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:51:04,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-15 13:51:04,861 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 65 transitions. [2022-04-15 13:51:04,914 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:51:04,918 INFO L225 Difference]: With dead ends: 140 [2022-04-15 13:51:04,919 INFO L226 Difference]: Without dead ends: 132 [2022-04-15 13:51:04,919 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 99 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=61, Invalid=179, Unknown=0, NotChecked=0, Total=240 [2022-04-15 13:51:04,919 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 2 mSDsluCounter, 121 mSDsCounter, 0 mSdLazyCounter, 225 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 154 SdHoareTripleChecker+Invalid, 228 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 225 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 13:51:04,919 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [2 Valid, 154 Invalid, 228 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 225 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 13:51:04,920 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-15 13:51:05,219 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 130. [2022-04-15 13:51:05,219 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:51:05,219 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 130 states, 96 states have (on average 1.1145833333333333) internal successors, (107), 99 states have internal predecessors, (107), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 13:51:05,219 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 130 states, 96 states have (on average 1.1145833333333333) internal successors, (107), 99 states have internal predecessors, (107), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 13:51:05,220 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 130 states, 96 states have (on average 1.1145833333333333) internal successors, (107), 99 states have internal predecessors, (107), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 13:51:05,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:51:05,221 INFO L93 Difference]: Finished difference Result 132 states and 147 transitions. [2022-04-15 13:51:05,221 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 147 transitions. [2022-04-15 13:51:05,222 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:51:05,222 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:51:05,222 INFO L74 IsIncluded]: Start isIncluded. First operand has 130 states, 96 states have (on average 1.1145833333333333) internal successors, (107), 99 states have internal predecessors, (107), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 132 states. [2022-04-15 13:51:05,222 INFO L87 Difference]: Start difference. First operand has 130 states, 96 states have (on average 1.1145833333333333) internal successors, (107), 99 states have internal predecessors, (107), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 132 states. [2022-04-15 13:51:05,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:51:05,224 INFO L93 Difference]: Finished difference Result 132 states and 147 transitions. [2022-04-15 13:51:05,224 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 147 transitions. [2022-04-15 13:51:05,225 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:51:05,225 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:51:05,225 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:51:05,225 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:51:05,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 130 states, 96 states have (on average 1.1145833333333333) internal successors, (107), 99 states have internal predecessors, (107), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 13:51:05,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 145 transitions. [2022-04-15 13:51:05,228 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 145 transitions. Word has length 57 [2022-04-15 13:51:05,228 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:51:05,228 INFO L478 AbstractCegarLoop]: Abstraction has 130 states and 145 transitions. [2022-04-15 13:51:05,228 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 9 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:51:05,228 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 130 states and 145 transitions. [2022-04-15 13:51:09,547 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 145 edges. 143 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 13:51:09,547 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 145 transitions. [2022-04-15 13:51:09,548 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-15 13:51:09,548 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:51:09,548 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 13:51:09,564 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-15 13:51:09,764 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:51:09,764 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:51:09,764 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:51:09,764 INFO L85 PathProgramCache]: Analyzing trace with hash 55892592, now seen corresponding path program 5 times [2022-04-15 13:51:09,764 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:51:09,765 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1153841781] [2022-04-15 13:51:09,765 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:51:09,765 INFO L85 PathProgramCache]: Analyzing trace with hash 55892592, now seen corresponding path program 6 times [2022-04-15 13:51:09,765 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:51:09,765 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [601911974] [2022-04-15 13:51:09,765 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:51:09,765 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:51:09,774 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:51:09,775 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1059105415] [2022-04-15 13:51:09,775 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 13:51:09,775 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:51:09,775 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:51:09,776 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:51:09,778 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-15 13:51:10,050 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 13:51:10,050 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:51:10,051 INFO L263 TraceCheckSpWp]: Trace formula consists of 136 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-15 13:51:10,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:51:10,084 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:51:26,261 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:51:29,442 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:51:31,865 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:52:20,032 WARN L232 SmtUtils]: Spent 26.64s on a formula simplification that was a NOOP. DAG size: 55 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-15 13:52:46,130 INFO L272 TraceCheckUtils]: 0: Hoare triple {14456#true} call ULTIMATE.init(); {14456#true} is VALID [2022-04-15 13:52:46,130 INFO L290 TraceCheckUtils]: 1: Hoare triple {14456#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(15, 2);call #Ultimate.allocInit(12, 3); {14456#true} is VALID [2022-04-15 13:52:46,130 INFO L290 TraceCheckUtils]: 2: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-15 13:52:46,130 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14456#true} {14456#true} #69#return; {14456#true} is VALID [2022-04-15 13:52:46,130 INFO L272 TraceCheckUtils]: 4: Hoare triple {14456#true} call #t~ret8 := main(); {14456#true} is VALID [2022-04-15 13:52:46,130 INFO L290 TraceCheckUtils]: 5: Hoare triple {14456#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {14456#true} is VALID [2022-04-15 13:52:46,130 INFO L272 TraceCheckUtils]: 6: Hoare triple {14456#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {14456#true} is VALID [2022-04-15 13:52:46,130 INFO L290 TraceCheckUtils]: 7: Hoare triple {14456#true} ~cond := #in~cond; {14482#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 13:52:46,131 INFO L290 TraceCheckUtils]: 8: Hoare triple {14482#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {14486#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:52:46,131 INFO L290 TraceCheckUtils]: 9: Hoare triple {14486#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {14486#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:52:46,131 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14486#(not (= |assume_abort_if_not_#in~cond| 0))} {14456#true} #61#return; {14493#(and (<= main_~X~0 100) (<= 0 main_~X~0))} is VALID [2022-04-15 13:52:46,132 INFO L290 TraceCheckUtils]: 11: Hoare triple {14493#(and (<= main_~X~0 100) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {14493#(and (<= main_~X~0 100) (<= 0 main_~X~0))} is VALID [2022-04-15 13:52:46,132 INFO L272 TraceCheckUtils]: 12: Hoare triple {14493#(and (<= main_~X~0 100) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {14456#true} is VALID [2022-04-15 13:52:46,132 INFO L290 TraceCheckUtils]: 13: Hoare triple {14456#true} ~cond := #in~cond; {14482#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 13:52:46,132 INFO L290 TraceCheckUtils]: 14: Hoare triple {14482#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {14486#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:52:46,133 INFO L290 TraceCheckUtils]: 15: Hoare triple {14486#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {14486#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:52:46,133 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14486#(not (= |assume_abort_if_not_#in~cond| 0))} {14493#(and (<= main_~X~0 100) (<= 0 main_~X~0))} #63#return; {14512#(and (<= main_~X~0 100) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:52:46,133 INFO L290 TraceCheckUtils]: 17: Hoare triple {14512#(and (<= main_~X~0 100) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:52:46,134 INFO L290 TraceCheckUtils]: 18: Hoare triple {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:52:46,134 INFO L272 TraceCheckUtils]: 19: Hoare triple {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14456#true} is VALID [2022-04-15 13:52:46,134 INFO L290 TraceCheckUtils]: 20: Hoare triple {14456#true} ~cond := #in~cond; {14456#true} is VALID [2022-04-15 13:52:46,134 INFO L290 TraceCheckUtils]: 21: Hoare triple {14456#true} assume !(0 == ~cond); {14456#true} is VALID [2022-04-15 13:52:46,134 INFO L290 TraceCheckUtils]: 22: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-15 13:52:46,135 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14456#true} {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} #65#return; {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:52:46,135 INFO L290 TraceCheckUtils]: 24: Hoare triple {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} assume !!(~x~0 <= ~X~0); {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:52:46,135 INFO L290 TraceCheckUtils]: 25: Hoare triple {14516#(and (<= main_~X~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 100))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} is VALID [2022-04-15 13:52:46,136 INFO L290 TraceCheckUtils]: 26: Hoare triple {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} is VALID [2022-04-15 13:52:46,136 INFO L290 TraceCheckUtils]: 27: Hoare triple {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} is VALID [2022-04-15 13:52:46,136 INFO L272 TraceCheckUtils]: 28: Hoare triple {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14456#true} is VALID [2022-04-15 13:52:46,136 INFO L290 TraceCheckUtils]: 29: Hoare triple {14456#true} ~cond := #in~cond; {14456#true} is VALID [2022-04-15 13:52:46,136 INFO L290 TraceCheckUtils]: 30: Hoare triple {14456#true} assume !(0 == ~cond); {14456#true} is VALID [2022-04-15 13:52:46,136 INFO L290 TraceCheckUtils]: 31: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-15 13:52:46,137 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14456#true} {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} #65#return; {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} is VALID [2022-04-15 13:52:46,137 INFO L290 TraceCheckUtils]: 33: Hoare triple {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} assume !!(~x~0 <= ~X~0); {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} is VALID [2022-04-15 13:52:46,137 INFO L290 TraceCheckUtils]: 34: Hoare triple {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} is VALID [2022-04-15 13:52:46,138 INFO L290 TraceCheckUtils]: 35: Hoare triple {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} is VALID [2022-04-15 13:52:46,138 INFO L290 TraceCheckUtils]: 36: Hoare triple {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} is VALID [2022-04-15 13:52:46,138 INFO L272 TraceCheckUtils]: 37: Hoare triple {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14456#true} is VALID [2022-04-15 13:52:46,138 INFO L290 TraceCheckUtils]: 38: Hoare triple {14456#true} ~cond := #in~cond; {14581#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:52:46,139 INFO L290 TraceCheckUtils]: 39: Hoare triple {14581#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:52:46,139 INFO L290 TraceCheckUtils]: 40: Hoare triple {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:52:46,140 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} {14541#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (<= 0 main_~Y~0))} #65#return; {14592#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= 0 main_~Y~0))} is VALID [2022-04-15 13:52:46,140 INFO L290 TraceCheckUtils]: 42: Hoare triple {14592#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= 0 main_~Y~0))} assume !!(~x~0 <= ~X~0); {14596#(and (<= main_~x~0 main_~X~0) (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= 0 main_~Y~0))} is VALID [2022-04-15 13:52:46,142 INFO L290 TraceCheckUtils]: 43: Hoare triple {14596#(and (<= main_~x~0 main_~X~0) (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (<= 0 main_~Y~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {14600#(and (<= main_~x~0 main_~X~0) (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0))} is VALID [2022-04-15 13:52:46,143 INFO L290 TraceCheckUtils]: 44: Hoare triple {14600#(and (<= main_~x~0 main_~X~0) (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14604#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 13:52:46,143 INFO L290 TraceCheckUtils]: 45: Hoare triple {14604#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14608#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 13:52:46,143 INFO L272 TraceCheckUtils]: 46: Hoare triple {14608#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14456#true} is VALID [2022-04-15 13:52:46,143 INFO L290 TraceCheckUtils]: 47: Hoare triple {14456#true} ~cond := #in~cond; {14581#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:52:46,144 INFO L290 TraceCheckUtils]: 48: Hoare triple {14581#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:52:46,144 INFO L290 TraceCheckUtils]: 49: Hoare triple {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:52:46,145 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} {14608#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (mod (+ main_~X~0 main_~v~0) 2) 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} #65#return; {14624#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 13:52:46,146 INFO L290 TraceCheckUtils]: 51: Hoare triple {14624#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {14628#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 13:52:48,149 WARN L290 TraceCheckUtils]: 52: Hoare triple {14628#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {14632#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (or (and (or (and (= (mod main_~xy~0 main_~y~0) 0) (not (= main_~y~0 0)) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0))) (and (= main_~xy~0 0) (= main_~y~0 0))) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} is UNKNOWN [2022-04-15 13:52:48,159 INFO L272 TraceCheckUtils]: 53: Hoare triple {14632#(and (< (* main_~Y~0 2) main_~X~0) (<= main_~X~0 100) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (or (and (or (and (= (mod main_~xy~0 main_~y~0) 0) (not (= main_~y~0 0)) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0))) (and (= main_~xy~0 0) (= main_~y~0 0))) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {14636#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:52:48,160 INFO L290 TraceCheckUtils]: 54: Hoare triple {14636#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14640#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:52:48,160 INFO L290 TraceCheckUtils]: 55: Hoare triple {14640#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14457#false} is VALID [2022-04-15 13:52:48,160 INFO L290 TraceCheckUtils]: 56: Hoare triple {14457#false} assume !false; {14457#false} is VALID [2022-04-15 13:52:48,161 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 28 proven. 13 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-15 13:52:48,161 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:52:58,456 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:54:10,405 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:54:14,086 INFO L290 TraceCheckUtils]: 56: Hoare triple {14457#false} assume !false; {14457#false} is VALID [2022-04-15 13:54:14,086 INFO L290 TraceCheckUtils]: 55: Hoare triple {14640#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14457#false} is VALID [2022-04-15 13:54:14,087 INFO L290 TraceCheckUtils]: 54: Hoare triple {14636#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14640#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:54:14,087 INFO L272 TraceCheckUtils]: 53: Hoare triple {14656#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {14636#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:54:14,088 INFO L290 TraceCheckUtils]: 52: Hoare triple {14660#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {14656#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:54:14,089 INFO L290 TraceCheckUtils]: 51: Hoare triple {14664#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {14660#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-15 13:54:14,090 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} {14668#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {14664#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 13:54:14,090 INFO L290 TraceCheckUtils]: 49: Hoare triple {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:54:14,090 INFO L290 TraceCheckUtils]: 48: Hoare triple {14678#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14585#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:54:14,090 INFO L290 TraceCheckUtils]: 47: Hoare triple {14456#true} ~cond := #in~cond; {14678#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 13:54:14,090 INFO L272 TraceCheckUtils]: 46: Hoare triple {14668#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14456#true} is VALID [2022-04-15 13:54:16,092 WARN L290 TraceCheckUtils]: 45: Hoare triple {14685#(or (<= main_~x~0 main_~X~0) (and (or (= (+ main_~X~0 main_~v~0 (* (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) main_~x~0) 2)) (+ (* main_~Y~0 2) (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) 2) (* 2 (* main_~Y~0 main_~x~0)))) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) 0)) (= main_~X~0 0) (not (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0 main_~x~0)) 2) 0))) (or (forall ((main_~y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))) (not (= main_~X~0 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) 0)) (not (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0 main_~x~0)) 2) 0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14668#(or (<= main_~x~0 main_~X~0) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is UNKNOWN [2022-04-15 13:54:18,095 WARN L290 TraceCheckUtils]: 44: Hoare triple {14689#(or (and (or (not (= 0 (mod (+ (* (- 2) (+ main_~x~0 1) main_~Y~0) main_~X~0 main_~v~0) 2))) (= main_~X~0 0) (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0))) (+ (* 2 (* (+ main_~x~0 1) (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0))) main_~X~0 main_~v~0)) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0) 0))) (or (not (= 0 (mod (+ (* (- 2) (+ main_~x~0 1) main_~Y~0) main_~X~0 main_~v~0) 2))) (forall ((main_~y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (not (= main_~X~0 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) 0)))) (<= (+ main_~x~0 1) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14685#(or (<= main_~x~0 main_~X~0) (and (or (= (+ main_~X~0 main_~v~0 (* (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) main_~x~0) 2)) (+ (* main_~Y~0 2) (* (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) 2) (* 2 (* main_~Y~0 main_~x~0)))) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) main_~X~0) 0)) (= main_~X~0 0) (not (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0 main_~x~0)) 2) 0))) (or (forall ((main_~y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))) (not (= main_~X~0 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* main_~Y~0 main_~x~0)) 0)) (not (= (mod (+ main_~X~0 main_~v~0 (* (- 2) main_~Y~0 main_~x~0)) 2) 0)))))} is UNKNOWN [2022-04-15 13:54:18,971 INFO L290 TraceCheckUtils]: 43: Hoare triple {14693#(or (and (or (not (= (+ (div (+ main_~X~0 main_~v~0 (* main_~Y~0 2)) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) 0)) (not (= 0 (mod (+ (* (- 2) (+ main_~x~0 1) main_~Y~0) main_~X~0 main_~v~0) 2))) (forall ((main_~y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (not (= main_~X~0 0))) (or (not (= (mod (+ (div (+ main_~X~0 main_~v~0 (* main_~Y~0 2)) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0) 0)) (not (= 0 (mod (+ (* (- 2) (+ main_~x~0 1) main_~Y~0) main_~X~0 main_~v~0) 2))) (= (+ (* (* (+ main_~x~0 1) (div (+ (div (+ main_~X~0 main_~v~0 (* main_~Y~0 2)) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0)) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (div (+ (div (+ main_~X~0 main_~v~0 (* main_~Y~0 2)) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0)))) (= main_~X~0 0))) (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {14689#(or (and (or (not (= 0 (mod (+ (* (- 2) (+ main_~x~0 1) main_~Y~0) main_~X~0 main_~v~0) 2))) (= main_~X~0 0) (= (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0))) (+ (* 2 (* (+ main_~x~0 1) (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0))) main_~X~0 main_~v~0)) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0) 0))) (or (not (= 0 (mod (+ (* (- 2) (+ main_~x~0 1) main_~Y~0) main_~X~0 main_~v~0) 2))) (forall ((main_~y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (not (= main_~X~0 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) 0)))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 13:54:19,044 INFO L290 TraceCheckUtils]: 42: Hoare triple {14456#true} assume !!(~x~0 <= ~X~0); {14693#(or (and (or (not (= (+ (div (+ main_~X~0 main_~v~0 (* main_~Y~0 2)) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) 0)) (not (= 0 (mod (+ (* (- 2) (+ main_~x~0 1) main_~Y~0) main_~X~0 main_~v~0) 2))) (forall ((main_~y~0 Int)) (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))) (not (= main_~X~0 0))) (or (not (= (mod (+ (div (+ main_~X~0 main_~v~0 (* main_~Y~0 2)) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0) 0)) (not (= 0 (mod (+ (* (- 2) (+ main_~x~0 1) main_~Y~0) main_~X~0 main_~v~0) 2))) (= (+ (* (* (+ main_~x~0 1) (div (+ (div (+ main_~X~0 main_~v~0 (* main_~Y~0 2)) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0)) 2) main_~X~0 main_~v~0 (* main_~Y~0 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)) (* 2 (div (+ (div (+ main_~X~0 main_~v~0 (* main_~Y~0 2)) (- 2)) main_~Y~0 (* (+ main_~x~0 1) main_~Y~0)) main_~X~0)))) (= main_~X~0 0))) (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 13:54:19,044 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {14456#true} {14456#true} #65#return; {14456#true} is VALID [2022-04-15 13:54:19,044 INFO L290 TraceCheckUtils]: 40: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-15 13:54:19,045 INFO L290 TraceCheckUtils]: 39: Hoare triple {14456#true} assume !(0 == ~cond); {14456#true} is VALID [2022-04-15 13:54:19,045 INFO L290 TraceCheckUtils]: 38: Hoare triple {14456#true} ~cond := #in~cond; {14456#true} is VALID [2022-04-15 13:54:19,045 INFO L272 TraceCheckUtils]: 37: Hoare triple {14456#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14456#true} is VALID [2022-04-15 13:54:19,045 INFO L290 TraceCheckUtils]: 36: Hoare triple {14456#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14456#true} is VALID [2022-04-15 13:54:19,045 INFO L290 TraceCheckUtils]: 35: Hoare triple {14456#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14456#true} is VALID [2022-04-15 13:54:19,045 INFO L290 TraceCheckUtils]: 34: Hoare triple {14456#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {14456#true} is VALID [2022-04-15 13:54:19,045 INFO L290 TraceCheckUtils]: 33: Hoare triple {14456#true} assume !!(~x~0 <= ~X~0); {14456#true} is VALID [2022-04-15 13:54:19,045 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14456#true} {14456#true} #65#return; {14456#true} is VALID [2022-04-15 13:54:19,045 INFO L290 TraceCheckUtils]: 31: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-15 13:54:19,045 INFO L290 TraceCheckUtils]: 30: Hoare triple {14456#true} assume !(0 == ~cond); {14456#true} is VALID [2022-04-15 13:54:19,045 INFO L290 TraceCheckUtils]: 29: Hoare triple {14456#true} ~cond := #in~cond; {14456#true} is VALID [2022-04-15 13:54:19,045 INFO L272 TraceCheckUtils]: 28: Hoare triple {14456#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14456#true} is VALID [2022-04-15 13:54:19,045 INFO L290 TraceCheckUtils]: 27: Hoare triple {14456#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14456#true} is VALID [2022-04-15 13:54:19,045 INFO L290 TraceCheckUtils]: 26: Hoare triple {14456#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {14456#true} is VALID [2022-04-15 13:54:19,045 INFO L290 TraceCheckUtils]: 25: Hoare triple {14456#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {14456#true} is VALID [2022-04-15 13:54:19,045 INFO L290 TraceCheckUtils]: 24: Hoare triple {14456#true} assume !!(~x~0 <= ~X~0); {14456#true} is VALID [2022-04-15 13:54:19,045 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {14456#true} {14456#true} #65#return; {14456#true} is VALID [2022-04-15 13:54:19,045 INFO L290 TraceCheckUtils]: 22: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-15 13:54:19,045 INFO L290 TraceCheckUtils]: 21: Hoare triple {14456#true} assume !(0 == ~cond); {14456#true} is VALID [2022-04-15 13:54:19,045 INFO L290 TraceCheckUtils]: 20: Hoare triple {14456#true} ~cond := #in~cond; {14456#true} is VALID [2022-04-15 13:54:19,046 INFO L272 TraceCheckUtils]: 19: Hoare triple {14456#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {14456#true} is VALID [2022-04-15 13:54:19,046 INFO L290 TraceCheckUtils]: 18: Hoare triple {14456#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {14456#true} is VALID [2022-04-15 13:54:19,046 INFO L290 TraceCheckUtils]: 17: Hoare triple {14456#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {14456#true} is VALID [2022-04-15 13:54:19,046 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14456#true} {14456#true} #63#return; {14456#true} is VALID [2022-04-15 13:54:19,046 INFO L290 TraceCheckUtils]: 15: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-15 13:54:19,046 INFO L290 TraceCheckUtils]: 14: Hoare triple {14456#true} assume !(0 == ~cond); {14456#true} is VALID [2022-04-15 13:54:19,046 INFO L290 TraceCheckUtils]: 13: Hoare triple {14456#true} ~cond := #in~cond; {14456#true} is VALID [2022-04-15 13:54:19,046 INFO L272 TraceCheckUtils]: 12: Hoare triple {14456#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {14456#true} is VALID [2022-04-15 13:54:19,046 INFO L290 TraceCheckUtils]: 11: Hoare triple {14456#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {14456#true} is VALID [2022-04-15 13:54:19,046 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14456#true} {14456#true} #61#return; {14456#true} is VALID [2022-04-15 13:54:19,046 INFO L290 TraceCheckUtils]: 9: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-15 13:54:19,046 INFO L290 TraceCheckUtils]: 8: Hoare triple {14456#true} assume !(0 == ~cond); {14456#true} is VALID [2022-04-15 13:54:19,046 INFO L290 TraceCheckUtils]: 7: Hoare triple {14456#true} ~cond := #in~cond; {14456#true} is VALID [2022-04-15 13:54:19,046 INFO L272 TraceCheckUtils]: 6: Hoare triple {14456#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {14456#true} is VALID [2022-04-15 13:54:19,046 INFO L290 TraceCheckUtils]: 5: Hoare triple {14456#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {14456#true} is VALID [2022-04-15 13:54:19,046 INFO L272 TraceCheckUtils]: 4: Hoare triple {14456#true} call #t~ret8 := main(); {14456#true} is VALID [2022-04-15 13:54:19,046 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14456#true} {14456#true} #69#return; {14456#true} is VALID [2022-04-15 13:54:19,046 INFO L290 TraceCheckUtils]: 2: Hoare triple {14456#true} assume true; {14456#true} is VALID [2022-04-15 13:54:19,046 INFO L290 TraceCheckUtils]: 1: Hoare triple {14456#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(15, 2);call #Ultimate.allocInit(12, 3); {14456#true} is VALID [2022-04-15 13:54:19,046 INFO L272 TraceCheckUtils]: 0: Hoare triple {14456#true} call ULTIMATE.init(); {14456#true} is VALID [2022-04-15 13:54:19,047 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 29 proven. 1 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-15 13:54:19,047 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:54:19,047 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [601911974] [2022-04-15 13:54:19,047 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:54:19,047 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1059105415] [2022-04-15 13:54:19,047 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1059105415] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:54:19,047 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:54:19,047 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 13] total 28 [2022-04-15 13:54:19,047 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:54:19,047 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1153841781] [2022-04-15 13:54:19,048 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1153841781] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:54:19,048 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:54:19,048 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-15 13:54:19,048 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1628941155] [2022-04-15 13:54:19,048 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:54:19,048 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-15 13:54:19,048 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:54:19,048 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:54:19,705 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:54:19,705 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-15 13:54:19,705 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:54:19,705 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-15 13:54:19,706 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=124, Invalid=625, Unknown=7, NotChecked=0, Total=756 [2022-04-15 13:54:19,706 INFO L87 Difference]: Start difference. First operand 130 states and 145 transitions. Second operand has 20 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:54:22,083 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:54:24,645 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:54:26,953 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:54:29,426 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:54:36,069 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:54:38,525 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:55:09,362 WARN L232 SmtUtils]: Spent 9.79s on a formula simplification. DAG size of input: 65 DAG size of output: 59 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-15 13:55:12,806 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.35s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:55:14,140 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.33s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:55:16,143 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:55:18,145 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:55:20,148 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:55:22,151 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:55:22,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:55:22,257 INFO L93 Difference]: Finished difference Result 138 states and 152 transitions. [2022-04-15 13:55:22,257 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-15 13:55:22,257 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-15 13:55:22,257 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:55:22,257 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:55:22,258 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 60 transitions. [2022-04-15 13:55:22,258 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:55:22,259 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 60 transitions. [2022-04-15 13:55:22,259 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 60 transitions. [2022-04-15 13:55:24,328 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 59 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 13:55:24,332 INFO L225 Difference]: With dead ends: 138 [2022-04-15 13:55:24,332 INFO L226 Difference]: Without dead ends: 130 [2022-04-15 13:55:24,333 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 86 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 257 ImplicationChecksByTransitivity, 91.1s TimeCoverageRelationStatistics Valid=216, Invalid=1034, Unknown=10, NotChecked=0, Total=1260 [2022-04-15 13:55:24,333 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 31 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 344 mSolverCounterSat, 17 mSolverCounterUnsat, 10 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 23.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 34 SdHoareTripleChecker+Valid, 135 SdHoareTripleChecker+Invalid, 371 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 344 IncrementalHoareTripleChecker+Invalid, 10 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 23.6s IncrementalHoareTripleChecker+Time [2022-04-15 13:55:24,333 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [34 Valid, 135 Invalid, 371 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 344 Invalid, 10 Unknown, 0 Unchecked, 23.6s Time] [2022-04-15 13:55:24,334 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2022-04-15 13:55:24,663 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 128. [2022-04-15 13:55:24,663 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:55:24,663 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand has 128 states, 94 states have (on average 1.0957446808510638) internal successors, (103), 99 states have internal predecessors, (103), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 13:55:24,663 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand has 128 states, 94 states have (on average 1.0957446808510638) internal successors, (103), 99 states have internal predecessors, (103), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 13:55:24,663 INFO L87 Difference]: Start difference. First operand 130 states. Second operand has 128 states, 94 states have (on average 1.0957446808510638) internal successors, (103), 99 states have internal predecessors, (103), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 13:55:24,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:55:24,665 INFO L93 Difference]: Finished difference Result 130 states and 143 transitions. [2022-04-15 13:55:24,665 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 143 transitions. [2022-04-15 13:55:24,665 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:55:24,665 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:55:24,665 INFO L74 IsIncluded]: Start isIncluded. First operand has 128 states, 94 states have (on average 1.0957446808510638) internal successors, (103), 99 states have internal predecessors, (103), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) Second operand 130 states. [2022-04-15 13:55:24,666 INFO L87 Difference]: Start difference. First operand has 128 states, 94 states have (on average 1.0957446808510638) internal successors, (103), 99 states have internal predecessors, (103), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) Second operand 130 states. [2022-04-15 13:55:24,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:55:24,667 INFO L93 Difference]: Finished difference Result 130 states and 143 transitions. [2022-04-15 13:55:24,667 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 143 transitions. [2022-04-15 13:55:24,667 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:55:24,667 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:55:24,667 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:55:24,667 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:55:24,668 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 128 states, 94 states have (on average 1.0957446808510638) internal successors, (103), 99 states have internal predecessors, (103), 20 states have call successors, (20), 14 states have call predecessors, (20), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 13:55:24,669 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 141 transitions. [2022-04-15 13:55:24,669 INFO L78 Accepts]: Start accepts. Automaton has 128 states and 141 transitions. Word has length 57 [2022-04-15 13:55:24,669 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:55:24,669 INFO L478 AbstractCegarLoop]: Abstraction has 128 states and 141 transitions. [2022-04-15 13:55:24,669 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 18 states have (on average 1.6666666666666667) internal successors, (30), 16 states have internal predecessors, (30), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (7), 7 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:55:24,669 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 128 states and 141 transitions. [2022-04-15 13:55:28,969 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 139 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 13:55:28,969 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 141 transitions. [2022-04-15 13:55:28,969 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-15 13:55:28,969 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:55:28,969 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 13:55:28,974 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-15 13:55:29,176 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:55:29,176 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:55:29,177 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:55:29,177 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 7 times [2022-04-15 13:55:29,177 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:55:29,177 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1372858616] [2022-04-15 13:55:29,177 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:55:29,177 INFO L85 PathProgramCache]: Analyzing trace with hash 1124973290, now seen corresponding path program 8 times [2022-04-15 13:55:29,177 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:55:29,177 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1781997341] [2022-04-15 13:55:29,177 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:55:29,178 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:55:29,186 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:55:29,186 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1787064668] [2022-04-15 13:55:29,186 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 13:55:29,186 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:55:29,186 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:55:29,187 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:55:29,187 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-15 13:55:29,227 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 13:55:29,227 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:55:29,228 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-15 13:55:29,238 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:55:29,239 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:55:29,981 INFO L272 TraceCheckUtils]: 0: Hoare triple {15633#true} call ULTIMATE.init(); {15633#true} is VALID [2022-04-15 13:55:29,981 INFO L290 TraceCheckUtils]: 1: Hoare triple {15633#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(15, 2);call #Ultimate.allocInit(12, 3); {15633#true} is VALID [2022-04-15 13:55:29,981 INFO L290 TraceCheckUtils]: 2: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 13:55:29,981 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15633#true} {15633#true} #69#return; {15633#true} is VALID [2022-04-15 13:55:29,981 INFO L272 TraceCheckUtils]: 4: Hoare triple {15633#true} call #t~ret8 := main(); {15633#true} is VALID [2022-04-15 13:55:29,981 INFO L290 TraceCheckUtils]: 5: Hoare triple {15633#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {15633#true} is VALID [2022-04-15 13:55:29,981 INFO L272 TraceCheckUtils]: 6: Hoare triple {15633#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {15633#true} is VALID [2022-04-15 13:55:29,981 INFO L290 TraceCheckUtils]: 7: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-15 13:55:29,981 INFO L290 TraceCheckUtils]: 8: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-15 13:55:29,981 INFO L290 TraceCheckUtils]: 9: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 13:55:29,981 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15633#true} {15633#true} #61#return; {15633#true} is VALID [2022-04-15 13:55:29,981 INFO L290 TraceCheckUtils]: 11: Hoare triple {15633#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {15633#true} is VALID [2022-04-15 13:55:29,981 INFO L272 TraceCheckUtils]: 12: Hoare triple {15633#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {15633#true} is VALID [2022-04-15 13:55:29,981 INFO L290 TraceCheckUtils]: 13: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-15 13:55:29,982 INFO L290 TraceCheckUtils]: 14: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-15 13:55:29,982 INFO L290 TraceCheckUtils]: 15: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 13:55:29,982 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15633#true} {15633#true} #63#return; {15633#true} is VALID [2022-04-15 13:55:29,982 INFO L290 TraceCheckUtils]: 17: Hoare triple {15633#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {15689#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:55:29,982 INFO L290 TraceCheckUtils]: 18: Hoare triple {15689#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15689#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:55:29,982 INFO L272 TraceCheckUtils]: 19: Hoare triple {15689#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15633#true} is VALID [2022-04-15 13:55:29,983 INFO L290 TraceCheckUtils]: 20: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-15 13:55:29,983 INFO L290 TraceCheckUtils]: 21: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-15 13:55:29,983 INFO L290 TraceCheckUtils]: 22: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 13:55:29,983 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15633#true} {15689#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {15689#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:55:29,984 INFO L290 TraceCheckUtils]: 24: Hoare triple {15689#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {15689#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:55:29,985 INFO L290 TraceCheckUtils]: 25: Hoare triple {15689#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {15714#(and (= main_~x~0 0) (= main_~y~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:55:29,985 INFO L290 TraceCheckUtils]: 26: Hoare triple {15714#(and (= main_~x~0 0) (= main_~y~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:55:29,986 INFO L290 TraceCheckUtils]: 27: Hoare triple {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:55:29,986 INFO L272 TraceCheckUtils]: 28: Hoare triple {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15633#true} is VALID [2022-04-15 13:55:29,986 INFO L290 TraceCheckUtils]: 29: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-15 13:55:29,986 INFO L290 TraceCheckUtils]: 30: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-15 13:55:29,986 INFO L290 TraceCheckUtils]: 31: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 13:55:29,986 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {15633#true} {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} #65#return; {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:55:29,987 INFO L290 TraceCheckUtils]: 33: Hoare triple {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:55:29,988 INFO L290 TraceCheckUtils]: 34: Hoare triple {15718#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 2))) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~X~0 2) (* (- 2) main_~Y~0))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {15743#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-15 13:55:29,988 INFO L290 TraceCheckUtils]: 35: Hoare triple {15743#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-15 13:55:29,989 INFO L290 TraceCheckUtils]: 36: Hoare triple {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-15 13:55:29,989 INFO L272 TraceCheckUtils]: 37: Hoare triple {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15633#true} is VALID [2022-04-15 13:55:29,989 INFO L290 TraceCheckUtils]: 38: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-15 13:55:29,989 INFO L290 TraceCheckUtils]: 39: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-15 13:55:29,989 INFO L290 TraceCheckUtils]: 40: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 13:55:29,990 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15633#true} {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} #65#return; {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-15 13:55:29,990 INFO L290 TraceCheckUtils]: 42: Hoare triple {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} assume !!(~x~0 <= ~X~0); {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} is VALID [2022-04-15 13:55:29,991 INFO L290 TraceCheckUtils]: 43: Hoare triple {15747#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)) (* main_~X~0 2))) (not (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4))) (= main_~y~0 1) (< main_~v~0 (* main_~Y~0 2)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {15772#(and (= main_~y~0 2) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= main_~x~0 2) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} is VALID [2022-04-15 13:55:29,991 INFO L290 TraceCheckUtils]: 44: Hoare triple {15772#(and (= main_~y~0 2) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (= main_~x~0 2) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15776#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} is VALID [2022-04-15 13:55:29,992 INFO L290 TraceCheckUtils]: 45: Hoare triple {15776#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15776#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} is VALID [2022-04-15 13:55:29,992 INFO L272 TraceCheckUtils]: 46: Hoare triple {15776#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15633#true} is VALID [2022-04-15 13:55:29,992 INFO L290 TraceCheckUtils]: 47: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-15 13:55:29,992 INFO L290 TraceCheckUtils]: 48: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-15 13:55:29,992 INFO L290 TraceCheckUtils]: 49: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 13:55:29,993 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {15633#true} {15776#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} #65#return; {15776#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} is VALID [2022-04-15 13:55:29,993 INFO L290 TraceCheckUtils]: 51: Hoare triple {15776#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} assume !(~x~0 <= ~X~0); {15798#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (not (<= main_~x~0 main_~X~0)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} is VALID [2022-04-15 13:55:29,994 INFO L290 TraceCheckUtils]: 52: Hoare triple {15798#(and (= main_~y~0 2) (= main_~x~0 3) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (not (<= main_~x~0 main_~X~0)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {15802#(and (= main_~y~0 2) (= (* main_~Y~0 3) main_~yx~0) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (= main_~xy~0 (* main_~y~0 3)) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))) (not (<= 3 main_~X~0)))} is VALID [2022-04-15 13:55:29,995 INFO L272 TraceCheckUtils]: 53: Hoare triple {15802#(and (= main_~y~0 2) (= (* main_~Y~0 3) main_~yx~0) (= (* main_~Y~0 8) (+ main_~v~0 (* 5 main_~X~0))) (= main_~xy~0 (* main_~y~0 3)) (< (+ main_~v~0 (* main_~X~0 2)) (* main_~Y~0 4)) (<= (* main_~Y~0 6) (+ main_~v~0 (* main_~X~0 4))) (not (<= 3 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {15806#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:55:29,995 INFO L290 TraceCheckUtils]: 54: Hoare triple {15806#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15810#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:55:29,996 INFO L290 TraceCheckUtils]: 55: Hoare triple {15810#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15634#false} is VALID [2022-04-15 13:55:29,996 INFO L290 TraceCheckUtils]: 56: Hoare triple {15634#false} assume !false; {15634#false} is VALID [2022-04-15 13:55:29,996 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 24 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-15 13:55:29,996 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:55:30,944 INFO L290 TraceCheckUtils]: 56: Hoare triple {15634#false} assume !false; {15634#false} is VALID [2022-04-15 13:55:30,945 INFO L290 TraceCheckUtils]: 55: Hoare triple {15810#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15634#false} is VALID [2022-04-15 13:55:30,945 INFO L290 TraceCheckUtils]: 54: Hoare triple {15806#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15810#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:55:30,945 INFO L272 TraceCheckUtils]: 53: Hoare triple {15826#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {15806#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:55:30,947 INFO L290 TraceCheckUtils]: 52: Hoare triple {15830#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {15826#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:55:30,947 INFO L290 TraceCheckUtils]: 51: Hoare triple {15834#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {15830#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-15 13:55:30,947 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {15633#true} {15834#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {15834#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 13:55:30,948 INFO L290 TraceCheckUtils]: 49: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 13:55:30,948 INFO L290 TraceCheckUtils]: 48: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-15 13:55:30,948 INFO L290 TraceCheckUtils]: 47: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-15 13:55:30,948 INFO L272 TraceCheckUtils]: 46: Hoare triple {15834#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15633#true} is VALID [2022-04-15 13:55:30,948 INFO L290 TraceCheckUtils]: 45: Hoare triple {15834#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15834#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 13:55:30,953 INFO L290 TraceCheckUtils]: 44: Hoare triple {15856#(or (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15834#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 13:55:30,955 INFO L290 TraceCheckUtils]: 43: Hoare triple {15860#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {15856#(or (= (+ (* (* (+ main_~x~0 1) main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-15 13:55:30,955 INFO L290 TraceCheckUtils]: 42: Hoare triple {15864#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} assume !!(~x~0 <= ~X~0); {15860#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 13:55:30,956 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15633#true} {15864#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} #65#return; {15864#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 13:55:30,956 INFO L290 TraceCheckUtils]: 40: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 13:55:30,956 INFO L290 TraceCheckUtils]: 39: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-15 13:55:30,956 INFO L290 TraceCheckUtils]: 38: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-15 13:55:30,956 INFO L272 TraceCheckUtils]: 37: Hoare triple {15864#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15633#true} is VALID [2022-04-15 13:55:30,956 INFO L290 TraceCheckUtils]: 36: Hoare triple {15864#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15864#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 13:55:30,958 INFO L290 TraceCheckUtils]: 35: Hoare triple {15886#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15864#(or (< main_~v~0 0) (<= (+ main_~x~0 1) main_~X~0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) (+ main_~y~0 1)))) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-15 13:55:30,959 INFO L290 TraceCheckUtils]: 34: Hoare triple {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {15886#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-15 13:55:30,960 INFO L290 TraceCheckUtils]: 33: Hoare triple {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} assume !!(~x~0 <= ~X~0); {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-15 13:55:30,960 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {15633#true} {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} #65#return; {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-15 13:55:30,960 INFO L290 TraceCheckUtils]: 31: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 13:55:30,960 INFO L290 TraceCheckUtils]: 30: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-15 13:55:30,960 INFO L290 TraceCheckUtils]: 29: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-15 13:55:30,960 INFO L272 TraceCheckUtils]: 28: Hoare triple {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15633#true} is VALID [2022-04-15 13:55:30,961 INFO L290 TraceCheckUtils]: 27: Hoare triple {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-15 13:55:30,964 INFO L290 TraceCheckUtils]: 26: Hoare triple {15915#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0) (= (+ main_~v~0 (* (* (+ main_~x~0 3) (+ main_~y~0 1)) 2) (* (- 1) main_~X~0) (* main_~Y~0 4)) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {15890#(or (= (+ main_~v~0 (* (- 1) main_~X~0) (* (* (+ main_~x~0 2) (+ main_~y~0 1)) 2) (* main_~Y~0 4)) (+ (* 2 (* main_~Y~0 (+ main_~x~0 2))) 2 (* main_~y~0 2) (* main_~Y~0 2))) (<= (+ main_~x~0 2) main_~X~0) (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (not (<= (+ main_~x~0 1) main_~X~0)))} is VALID [2022-04-15 13:55:30,966 INFO L290 TraceCheckUtils]: 25: Hoare triple {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {15915#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0) (= (+ main_~v~0 (* (* (+ main_~x~0 3) (+ main_~y~0 1)) 2) (* (- 1) main_~X~0) (* main_~Y~0 4)) (+ 2 (* main_~y~0 2) (* main_~Y~0 2) (* (* (+ main_~x~0 3) main_~Y~0) 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-15 13:55:30,966 INFO L290 TraceCheckUtils]: 24: Hoare triple {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !!(~x~0 <= ~X~0); {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-15 13:55:30,967 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15633#true} {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} #65#return; {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-15 13:55:30,967 INFO L290 TraceCheckUtils]: 22: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 13:55:30,967 INFO L290 TraceCheckUtils]: 21: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-15 13:55:30,967 INFO L290 TraceCheckUtils]: 20: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-15 13:55:30,967 INFO L272 TraceCheckUtils]: 19: Hoare triple {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {15633#true} is VALID [2022-04-15 13:55:30,968 INFO L290 TraceCheckUtils]: 18: Hoare triple {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-15 13:55:30,969 INFO L290 TraceCheckUtils]: 17: Hoare triple {15633#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {15919#(or (< main_~v~0 0) (< (+ main_~v~0 (* main_~Y~0 4)) (* main_~X~0 2)) (= (+ (* main_~y~0 2) (* main_~Y~0 2) 4 (* (* (+ main_~x~0 3) main_~Y~0) 2)) (+ (* main_~X~0 (- 3)) (* 2 (* (+ main_~x~0 3) (+ main_~y~0 2))) main_~v~0 (* main_~Y~0 6))) (<= (+ main_~x~0 3) main_~X~0) (not (< (+ main_~v~0 (* main_~Y~0 2)) (* main_~X~0 2))) (not (<= (+ main_~x~0 2) main_~X~0)))} is VALID [2022-04-15 13:55:30,969 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15633#true} {15633#true} #63#return; {15633#true} is VALID [2022-04-15 13:55:30,969 INFO L290 TraceCheckUtils]: 15: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 13:55:30,969 INFO L290 TraceCheckUtils]: 14: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-15 13:55:30,969 INFO L290 TraceCheckUtils]: 13: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-15 13:55:30,969 INFO L272 TraceCheckUtils]: 12: Hoare triple {15633#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {15633#true} is VALID [2022-04-15 13:55:30,969 INFO L290 TraceCheckUtils]: 11: Hoare triple {15633#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {15633#true} is VALID [2022-04-15 13:55:30,969 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15633#true} {15633#true} #61#return; {15633#true} is VALID [2022-04-15 13:55:30,969 INFO L290 TraceCheckUtils]: 9: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 13:55:30,969 INFO L290 TraceCheckUtils]: 8: Hoare triple {15633#true} assume !(0 == ~cond); {15633#true} is VALID [2022-04-15 13:55:30,969 INFO L290 TraceCheckUtils]: 7: Hoare triple {15633#true} ~cond := #in~cond; {15633#true} is VALID [2022-04-15 13:55:30,969 INFO L272 TraceCheckUtils]: 6: Hoare triple {15633#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {15633#true} is VALID [2022-04-15 13:55:30,969 INFO L290 TraceCheckUtils]: 5: Hoare triple {15633#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {15633#true} is VALID [2022-04-15 13:55:30,969 INFO L272 TraceCheckUtils]: 4: Hoare triple {15633#true} call #t~ret8 := main(); {15633#true} is VALID [2022-04-15 13:55:30,969 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15633#true} {15633#true} #69#return; {15633#true} is VALID [2022-04-15 13:55:30,969 INFO L290 TraceCheckUtils]: 2: Hoare triple {15633#true} assume true; {15633#true} is VALID [2022-04-15 13:55:30,969 INFO L290 TraceCheckUtils]: 1: Hoare triple {15633#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(15, 2);call #Ultimate.allocInit(12, 3); {15633#true} is VALID [2022-04-15 13:55:30,969 INFO L272 TraceCheckUtils]: 0: Hoare triple {15633#true} call ULTIMATE.init(); {15633#true} is VALID [2022-04-15 13:55:30,970 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 8 proven. 24 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-15 13:55:30,970 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:55:30,970 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1781997341] [2022-04-15 13:55:30,970 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:55:30,970 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1787064668] [2022-04-15 13:55:30,970 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1787064668] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:55:30,970 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:55:30,970 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 14] total 23 [2022-04-15 13:55:30,970 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:55:30,970 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1372858616] [2022-04-15 13:55:30,970 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1372858616] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:55:30,970 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:55:30,971 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 13:55:30,971 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1291432339] [2022-04-15 13:55:30,971 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:55:30,971 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-15 13:55:30,971 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:55:30,971 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:55:31,011 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:55:31,011 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 13:55:31,011 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:55:31,011 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 13:55:31,011 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=100, Invalid=406, Unknown=0, NotChecked=0, Total=506 [2022-04-15 13:55:31,012 INFO L87 Difference]: Start difference. First operand 128 states and 141 transitions. Second operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:55:32,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:55:32,139 INFO L93 Difference]: Finished difference Result 141 states and 156 transitions. [2022-04-15 13:55:32,139 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 13:55:32,139 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 57 [2022-04-15 13:55:32,139 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:55:32,139 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:55:32,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 64 transitions. [2022-04-15 13:55:32,140 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:55:32,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 64 transitions. [2022-04-15 13:55:32,140 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 64 transitions. [2022-04-15 13:55:32,207 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:55:32,209 INFO L225 Difference]: With dead ends: 141 [2022-04-15 13:55:32,209 INFO L226 Difference]: Without dead ends: 133 [2022-04-15 13:55:32,209 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 115 GetRequests, 90 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 47 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=118, Invalid=482, Unknown=0, NotChecked=0, Total=600 [2022-04-15 13:55:32,209 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 9 mSDsluCounter, 185 mSDsCounter, 0 mSdLazyCounter, 359 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 217 SdHoareTripleChecker+Invalid, 359 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 359 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 13:55:32,209 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 217 Invalid, 359 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 359 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 13:55:32,210 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states. [2022-04-15 13:55:32,517 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 132. [2022-04-15 13:55:32,517 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:55:32,517 INFO L82 GeneralOperation]: Start isEquivalent. First operand 133 states. Second operand has 132 states, 97 states have (on average 1.092783505154639) internal successors, (106), 102 states have internal predecessors, (106), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 13:55:32,517 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand has 132 states, 97 states have (on average 1.092783505154639) internal successors, (106), 102 states have internal predecessors, (106), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 13:55:32,518 INFO L87 Difference]: Start difference. First operand 133 states. Second operand has 132 states, 97 states have (on average 1.092783505154639) internal successors, (106), 102 states have internal predecessors, (106), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 13:55:32,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:55:32,519 INFO L93 Difference]: Finished difference Result 133 states and 148 transitions. [2022-04-15 13:55:32,519 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 148 transitions. [2022-04-15 13:55:32,520 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:55:32,520 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:55:32,520 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 97 states have (on average 1.092783505154639) internal successors, (106), 102 states have internal predecessors, (106), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) Second operand 133 states. [2022-04-15 13:55:32,520 INFO L87 Difference]: Start difference. First operand has 132 states, 97 states have (on average 1.092783505154639) internal successors, (106), 102 states have internal predecessors, (106), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) Second operand 133 states. [2022-04-15 13:55:32,521 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:55:32,521 INFO L93 Difference]: Finished difference Result 133 states and 148 transitions. [2022-04-15 13:55:32,521 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 148 transitions. [2022-04-15 13:55:32,522 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:55:32,522 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:55:32,522 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:55:32,522 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:55:32,522 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 97 states have (on average 1.092783505154639) internal successors, (106), 102 states have internal predecessors, (106), 21 states have call successors, (21), 14 states have call predecessors, (21), 13 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 13:55:32,523 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 146 transitions. [2022-04-15 13:55:32,523 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 146 transitions. Word has length 57 [2022-04-15 13:55:32,524 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:55:32,524 INFO L478 AbstractCegarLoop]: Abstraction has 132 states and 146 transitions. [2022-04-15 13:55:32,524 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 6 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:55:32,524 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 146 transitions. [2022-04-15 13:55:36,864 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 146 edges. 144 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 13:55:36,864 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 146 transitions. [2022-04-15 13:55:36,864 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-15 13:55:36,864 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:55:36,865 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 13:55:36,880 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-15 13:55:37,065 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-04-15 13:55:37,065 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:55:37,065 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:55:37,065 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 5 times [2022-04-15 13:55:37,066 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:55:37,066 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [162110853] [2022-04-15 13:55:37,066 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:55:37,067 INFO L85 PathProgramCache]: Analyzing trace with hash -680465044, now seen corresponding path program 6 times [2022-04-15 13:55:37,067 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:55:37,067 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1287054132] [2022-04-15 13:55:37,067 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:55:37,067 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:55:37,080 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:55:37,081 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [539675620] [2022-04-15 13:55:37,081 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 13:55:37,081 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:55:37,081 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:55:37,082 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:55:37,082 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-15 13:55:37,512 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 13:55:37,512 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:55:37,513 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-15 13:55:37,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:55:37,528 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:55:51,552 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:55:59,407 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:56:03,436 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:57:51,774 INFO L272 TraceCheckUtils]: 0: Hoare triple {16813#true} call ULTIMATE.init(); {16813#true} is VALID [2022-04-15 13:57:51,775 INFO L290 TraceCheckUtils]: 1: Hoare triple {16813#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(15, 2);call #Ultimate.allocInit(12, 3); {16813#true} is VALID [2022-04-15 13:57:51,775 INFO L290 TraceCheckUtils]: 2: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-15 13:57:51,775 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16813#true} {16813#true} #69#return; {16813#true} is VALID [2022-04-15 13:57:51,775 INFO L272 TraceCheckUtils]: 4: Hoare triple {16813#true} call #t~ret8 := main(); {16813#true} is VALID [2022-04-15 13:57:51,775 INFO L290 TraceCheckUtils]: 5: Hoare triple {16813#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {16813#true} is VALID [2022-04-15 13:57:51,775 INFO L272 TraceCheckUtils]: 6: Hoare triple {16813#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {16813#true} is VALID [2022-04-15 13:57:51,775 INFO L290 TraceCheckUtils]: 7: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-15 13:57:51,775 INFO L290 TraceCheckUtils]: 8: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-15 13:57:51,775 INFO L290 TraceCheckUtils]: 9: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-15 13:57:51,775 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16813#true} {16813#true} #61#return; {16813#true} is VALID [2022-04-15 13:57:51,775 INFO L290 TraceCheckUtils]: 11: Hoare triple {16813#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {16813#true} is VALID [2022-04-15 13:57:51,775 INFO L272 TraceCheckUtils]: 12: Hoare triple {16813#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {16813#true} is VALID [2022-04-15 13:57:51,775 INFO L290 TraceCheckUtils]: 13: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-15 13:57:51,775 INFO L290 TraceCheckUtils]: 14: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-15 13:57:51,775 INFO L290 TraceCheckUtils]: 15: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-15 13:57:51,775 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {16813#true} {16813#true} #63#return; {16813#true} is VALID [2022-04-15 13:57:51,776 INFO L290 TraceCheckUtils]: 17: Hoare triple {16813#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {16869#(<= 0 main_~x~0)} is VALID [2022-04-15 13:57:51,776 INFO L290 TraceCheckUtils]: 18: Hoare triple {16869#(<= 0 main_~x~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16869#(<= 0 main_~x~0)} is VALID [2022-04-15 13:57:51,776 INFO L272 TraceCheckUtils]: 19: Hoare triple {16869#(<= 0 main_~x~0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {16813#true} is VALID [2022-04-15 13:57:51,776 INFO L290 TraceCheckUtils]: 20: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-15 13:57:51,776 INFO L290 TraceCheckUtils]: 21: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-15 13:57:51,776 INFO L290 TraceCheckUtils]: 22: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-15 13:57:51,777 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16813#true} {16869#(<= 0 main_~x~0)} #65#return; {16869#(<= 0 main_~x~0)} is VALID [2022-04-15 13:57:51,778 INFO L290 TraceCheckUtils]: 24: Hoare triple {16869#(<= 0 main_~x~0)} assume !!(~x~0 <= ~X~0); {16891#(<= 0 main_~X~0)} is VALID [2022-04-15 13:57:51,778 INFO L290 TraceCheckUtils]: 25: Hoare triple {16891#(<= 0 main_~X~0)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {16891#(<= 0 main_~X~0)} is VALID [2022-04-15 13:57:51,778 INFO L290 TraceCheckUtils]: 26: Hoare triple {16891#(<= 0 main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {16891#(<= 0 main_~X~0)} is VALID [2022-04-15 13:57:51,778 INFO L290 TraceCheckUtils]: 27: Hoare triple {16891#(<= 0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16891#(<= 0 main_~X~0)} is VALID [2022-04-15 13:57:51,779 INFO L272 TraceCheckUtils]: 28: Hoare triple {16891#(<= 0 main_~X~0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {16813#true} is VALID [2022-04-15 13:57:51,779 INFO L290 TraceCheckUtils]: 29: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-15 13:57:51,779 INFO L290 TraceCheckUtils]: 30: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-15 13:57:51,779 INFO L290 TraceCheckUtils]: 31: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-15 13:57:51,779 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {16813#true} {16891#(<= 0 main_~X~0)} #65#return; {16891#(<= 0 main_~X~0)} is VALID [2022-04-15 13:57:51,779 INFO L290 TraceCheckUtils]: 33: Hoare triple {16891#(<= 0 main_~X~0)} assume !!(~x~0 <= ~X~0); {16891#(<= 0 main_~X~0)} is VALID [2022-04-15 13:57:51,780 INFO L290 TraceCheckUtils]: 34: Hoare triple {16891#(<= 0 main_~X~0)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {16891#(<= 0 main_~X~0)} is VALID [2022-04-15 13:57:51,780 INFO L290 TraceCheckUtils]: 35: Hoare triple {16891#(<= 0 main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {16891#(<= 0 main_~X~0)} is VALID [2022-04-15 13:57:51,780 INFO L290 TraceCheckUtils]: 36: Hoare triple {16891#(<= 0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16891#(<= 0 main_~X~0)} is VALID [2022-04-15 13:57:51,780 INFO L272 TraceCheckUtils]: 37: Hoare triple {16891#(<= 0 main_~X~0)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {16813#true} is VALID [2022-04-15 13:57:51,780 INFO L290 TraceCheckUtils]: 38: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-15 13:57:51,780 INFO L290 TraceCheckUtils]: 39: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-15 13:57:51,780 INFO L290 TraceCheckUtils]: 40: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-15 13:57:51,781 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16813#true} {16891#(<= 0 main_~X~0)} #65#return; {16891#(<= 0 main_~X~0)} is VALID [2022-04-15 13:57:51,781 INFO L290 TraceCheckUtils]: 42: Hoare triple {16891#(<= 0 main_~X~0)} assume !!(~x~0 <= ~X~0); {16946#(and (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-15 13:57:51,781 INFO L290 TraceCheckUtils]: 43: Hoare triple {16946#(and (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {16946#(and (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} is VALID [2022-04-15 13:57:51,782 INFO L290 TraceCheckUtils]: 44: Hoare triple {16946#(and (<= main_~x~0 main_~X~0) (<= 0 main_~X~0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {16953#(and (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 13:57:51,782 INFO L290 TraceCheckUtils]: 45: Hoare triple {16953#(and (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16957#(and (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 13:57:51,783 INFO L272 TraceCheckUtils]: 46: Hoare triple {16957#(and (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {16813#true} is VALID [2022-04-15 13:57:51,783 INFO L290 TraceCheckUtils]: 47: Hoare triple {16813#true} ~cond := #in~cond; {16964#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:57:51,783 INFO L290 TraceCheckUtils]: 48: Hoare triple {16964#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16968#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:57:51,783 INFO L290 TraceCheckUtils]: 49: Hoare triple {16968#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16968#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:57:51,784 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16968#(not (= |__VERIFIER_assert_#in~cond| 0))} {16957#(and (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)) (<= main_~x~0 (+ main_~X~0 1)))} #65#return; {16975#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 13:57:51,785 INFO L290 TraceCheckUtils]: 51: Hoare triple {16975#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)))} assume !(~x~0 <= ~X~0); {16979#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-15 13:57:53,787 WARN L290 TraceCheckUtils]: 52: Hoare triple {16979#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {16983#(and (<= 0 main_~X~0) (or (and (or (and (= (mod main_~xy~0 main_~y~0) 0) (not (= main_~y~0 0)) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0))) (and (= main_~xy~0 0) (= main_~y~0 0))) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} is UNKNOWN [2022-04-15 13:57:53,804 INFO L272 TraceCheckUtils]: 53: Hoare triple {16983#(and (<= 0 main_~X~0) (or (and (or (and (= (mod main_~xy~0 main_~y~0) 0) (not (= main_~y~0 0)) (<= (div main_~xy~0 main_~y~0) (+ main_~X~0 1)) (< main_~X~0 (div main_~xy~0 main_~y~0))) (and (= main_~xy~0 0) (= main_~y~0 0))) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0))) (= main_~Y~0 0)) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) (+ main_~X~0 1)) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (<= (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) main_~X~0)) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {16987#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:57:53,805 INFO L290 TraceCheckUtils]: 54: Hoare triple {16987#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16991#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:57:53,805 INFO L290 TraceCheckUtils]: 55: Hoare triple {16991#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16814#false} is VALID [2022-04-15 13:57:53,805 INFO L290 TraceCheckUtils]: 56: Hoare triple {16814#false} assume !false; {16814#false} is VALID [2022-04-15 13:57:53,805 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 26 proven. 10 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-15 13:57:53,805 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:58:25,642 INFO L290 TraceCheckUtils]: 56: Hoare triple {16814#false} assume !false; {16814#false} is VALID [2022-04-15 13:58:25,643 INFO L290 TraceCheckUtils]: 55: Hoare triple {16991#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16814#false} is VALID [2022-04-15 13:58:25,643 INFO L290 TraceCheckUtils]: 54: Hoare triple {16987#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16991#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:58:25,644 INFO L272 TraceCheckUtils]: 53: Hoare triple {17007#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {16987#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:58:25,645 INFO L290 TraceCheckUtils]: 52: Hoare triple {17011#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {17007#(= (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:58:25,645 INFO L290 TraceCheckUtils]: 51: Hoare triple {17015#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} assume !(~x~0 <= ~X~0); {17011#(= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))} is VALID [2022-04-15 13:58:25,646 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16968#(not (= |__VERIFIER_assert_#in~cond| 0))} {17019#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #65#return; {17015#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 13:58:25,646 INFO L290 TraceCheckUtils]: 49: Hoare triple {16968#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16968#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:58:25,647 INFO L290 TraceCheckUtils]: 48: Hoare triple {17029#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {16968#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:58:25,647 INFO L290 TraceCheckUtils]: 47: Hoare triple {16813#true} ~cond := #in~cond; {17029#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 13:58:25,647 INFO L272 TraceCheckUtils]: 46: Hoare triple {17019#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {16813#true} is VALID [2022-04-15 13:58:25,648 INFO L290 TraceCheckUtils]: 45: Hoare triple {17036#(or (<= main_~x~0 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {17019#(or (<= main_~x~0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* (- 2) main_~xy~0) (* main_~Y~0 2) (* 2 main_~yx~0)) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 13:58:25,651 INFO L290 TraceCheckUtils]: 44: Hoare triple {17040#(forall ((v_main_~x~0_80 Int)) (or (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* (* v_main_~x~0_80 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* (* v_main_~x~0_80 main_~Y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_80 main_~y~0) 2)))) (<= v_main_~x~0_80 main_~X~0) (not (<= v_main_~x~0_80 (+ main_~x~0 1)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {17036#(or (<= main_~x~0 main_~X~0) (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* 2 (* main_~y~0 main_~x~0)) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* 2 (* main_~Y~0 main_~x~0))) (+ (* main_~y~0 2) (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))))))} is VALID [2022-04-15 13:58:25,652 INFO L290 TraceCheckUtils]: 43: Hoare triple {17040#(forall ((v_main_~x~0_80 Int)) (or (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* (* v_main_~x~0_80 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* (* v_main_~x~0_80 main_~Y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_80 main_~y~0) 2)))) (<= v_main_~x~0_80 main_~X~0) (not (<= v_main_~x~0_80 (+ main_~x~0 1)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {17040#(forall ((v_main_~x~0_80 Int)) (or (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* (* v_main_~x~0_80 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* (* v_main_~x~0_80 main_~Y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_80 main_~y~0) 2)))) (<= v_main_~x~0_80 main_~X~0) (not (<= v_main_~x~0_80 (+ main_~x~0 1)))))} is VALID [2022-04-15 13:58:25,653 INFO L290 TraceCheckUtils]: 42: Hoare triple {16813#true} assume !!(~x~0 <= ~X~0); {17040#(forall ((v_main_~x~0_80 Int)) (or (forall ((main_~y~0 Int) (main_~Y~0 Int)) (= (+ (* (* v_main_~x~0_80 main_~Y~0) 2) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* (* v_main_~x~0_80 main_~Y~0) 2) (* main_~Y~0 2) (* (* main_~X~0 main_~y~0) (- 2)) (* (* v_main_~x~0_80 main_~y~0) 2)))) (<= v_main_~x~0_80 main_~X~0) (not (<= v_main_~x~0_80 (+ main_~x~0 1)))))} is VALID [2022-04-15 13:58:25,653 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16813#true} {16813#true} #65#return; {16813#true} is VALID [2022-04-15 13:58:25,654 INFO L290 TraceCheckUtils]: 40: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-15 13:58:25,654 INFO L290 TraceCheckUtils]: 39: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-15 13:58:25,654 INFO L290 TraceCheckUtils]: 38: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-15 13:58:25,654 INFO L272 TraceCheckUtils]: 37: Hoare triple {16813#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {16813#true} is VALID [2022-04-15 13:58:25,654 INFO L290 TraceCheckUtils]: 36: Hoare triple {16813#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16813#true} is VALID [2022-04-15 13:58:25,654 INFO L290 TraceCheckUtils]: 35: Hoare triple {16813#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {16813#true} is VALID [2022-04-15 13:58:25,654 INFO L290 TraceCheckUtils]: 34: Hoare triple {16813#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {16813#true} is VALID [2022-04-15 13:58:25,654 INFO L290 TraceCheckUtils]: 33: Hoare triple {16813#true} assume !!(~x~0 <= ~X~0); {16813#true} is VALID [2022-04-15 13:58:25,654 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {16813#true} {16813#true} #65#return; {16813#true} is VALID [2022-04-15 13:58:25,654 INFO L290 TraceCheckUtils]: 31: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-15 13:58:25,654 INFO L290 TraceCheckUtils]: 30: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-15 13:58:25,654 INFO L290 TraceCheckUtils]: 29: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-15 13:58:25,654 INFO L272 TraceCheckUtils]: 28: Hoare triple {16813#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {16813#true} is VALID [2022-04-15 13:58:25,654 INFO L290 TraceCheckUtils]: 27: Hoare triple {16813#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16813#true} is VALID [2022-04-15 13:58:25,654 INFO L290 TraceCheckUtils]: 26: Hoare triple {16813#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {16813#true} is VALID [2022-04-15 13:58:25,654 INFO L290 TraceCheckUtils]: 25: Hoare triple {16813#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {16813#true} is VALID [2022-04-15 13:58:25,654 INFO L290 TraceCheckUtils]: 24: Hoare triple {16813#true} assume !!(~x~0 <= ~X~0); {16813#true} is VALID [2022-04-15 13:58:25,654 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16813#true} {16813#true} #65#return; {16813#true} is VALID [2022-04-15 13:58:25,654 INFO L290 TraceCheckUtils]: 22: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-15 13:58:25,655 INFO L290 TraceCheckUtils]: 21: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-15 13:58:25,655 INFO L290 TraceCheckUtils]: 20: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-15 13:58:25,655 INFO L272 TraceCheckUtils]: 19: Hoare triple {16813#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {16813#true} is VALID [2022-04-15 13:58:25,655 INFO L290 TraceCheckUtils]: 18: Hoare triple {16813#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {16813#true} is VALID [2022-04-15 13:58:25,655 INFO L290 TraceCheckUtils]: 17: Hoare triple {16813#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {16813#true} is VALID [2022-04-15 13:58:25,655 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {16813#true} {16813#true} #63#return; {16813#true} is VALID [2022-04-15 13:58:25,655 INFO L290 TraceCheckUtils]: 15: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-15 13:58:25,655 INFO L290 TraceCheckUtils]: 14: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-15 13:58:25,655 INFO L290 TraceCheckUtils]: 13: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-15 13:58:25,655 INFO L272 TraceCheckUtils]: 12: Hoare triple {16813#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {16813#true} is VALID [2022-04-15 13:58:25,655 INFO L290 TraceCheckUtils]: 11: Hoare triple {16813#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {16813#true} is VALID [2022-04-15 13:58:25,655 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16813#true} {16813#true} #61#return; {16813#true} is VALID [2022-04-15 13:58:25,655 INFO L290 TraceCheckUtils]: 9: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-15 13:58:25,655 INFO L290 TraceCheckUtils]: 8: Hoare triple {16813#true} assume !(0 == ~cond); {16813#true} is VALID [2022-04-15 13:58:25,655 INFO L290 TraceCheckUtils]: 7: Hoare triple {16813#true} ~cond := #in~cond; {16813#true} is VALID [2022-04-15 13:58:25,655 INFO L272 TraceCheckUtils]: 6: Hoare triple {16813#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {16813#true} is VALID [2022-04-15 13:58:25,655 INFO L290 TraceCheckUtils]: 5: Hoare triple {16813#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {16813#true} is VALID [2022-04-15 13:58:25,655 INFO L272 TraceCheckUtils]: 4: Hoare triple {16813#true} call #t~ret8 := main(); {16813#true} is VALID [2022-04-15 13:58:25,655 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16813#true} {16813#true} #69#return; {16813#true} is VALID [2022-04-15 13:58:25,655 INFO L290 TraceCheckUtils]: 2: Hoare triple {16813#true} assume true; {16813#true} is VALID [2022-04-15 13:58:25,656 INFO L290 TraceCheckUtils]: 1: Hoare triple {16813#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(15, 2);call #Ultimate.allocInit(12, 3); {16813#true} is VALID [2022-04-15 13:58:25,656 INFO L272 TraceCheckUtils]: 0: Hoare triple {16813#true} call ULTIMATE.init(); {16813#true} is VALID [2022-04-15 13:58:25,656 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 29 proven. 1 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-15 13:58:25,656 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:58:25,656 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1287054132] [2022-04-15 13:58:25,656 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:58:25,656 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [539675620] [2022-04-15 13:58:25,656 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [539675620] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:58:25,656 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:58:25,656 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 12] total 21 [2022-04-15 13:58:25,656 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:58:25,656 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [162110853] [2022-04-15 13:58:25,656 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [162110853] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:58:25,657 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:58:25,657 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 13:58:25,657 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [13456999] [2022-04-15 13:58:25,657 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:58:25,657 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 57 [2022-04-15 13:58:25,657 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:58:25,657 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:58:27,711 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 42 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 13:58:27,711 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 13:58:27,711 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:58:27,712 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 13:58:27,712 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=72, Invalid=336, Unknown=12, NotChecked=0, Total=420 [2022-04-15 13:58:27,712 INFO L87 Difference]: Start difference. First operand 132 states and 146 transitions. Second operand has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:58:35,561 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:58:38,206 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:58:42,295 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:58:46,356 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:58:50,461 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:58:52,722 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 13:58:56,810 WARN L833 $PredicateComparison]: unable to prove that (let ((.cse7 (* c_main_~X~0 c_main_~y~0)) (.cse3 (+ c_main_~X~0 1))) (and (let ((.cse2 (+ (* (- 1) c_main_~Y~0) (div (+ c_main_~v~0 c_main_~X~0) 2) .cse7)) (.cse0 (= c_main_~Y~0 0)) (.cse4 (= (mod (+ (* 2 c_main_~X~0 c_main_~y~0) c_main_~v~0 c_main_~X~0) 2) 0))) (or (let ((.cse1 (div .cse2 c_main_~Y~0))) (and (not .cse0) (not (<= .cse1 c_main_~X~0)) (= (mod .cse2 c_main_~Y~0) 0) (= c_main_~xy~0 (* c_main_~y~0 .cse1)) (<= .cse1 .cse3) (= c_main_~yx~0 (* c_main_~Y~0 .cse1)) .cse4)) (and (let ((.cse6 (= c_main_~y~0 0))) (or (let ((.cse5 (div c_main_~xy~0 c_main_~y~0))) (and (<= .cse5 .cse3) (= (mod c_main_~xy~0 c_main_~y~0) 0) (not .cse6) (< c_main_~X~0 .cse5))) (and .cse6 (= c_main_~xy~0 0)))) (= 0 .cse2) .cse0 (= c_main_~yx~0 0) .cse4))) (<= 0 c_main_~X~0) (not (<= c_main_~x~0 c_main_~X~0)) (= (+ (* 2 (* c_main_~Y~0 c_main_~x~0)) (* 2 c_main_~Y~0)) (+ (* 2 .cse7) c_main_~v~0 c_main_~X~0)) (<= c_main_~x~0 .cse3))) is different from false [2022-04-15 13:58:56,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:58:56,881 INFO L93 Difference]: Finished difference Result 139 states and 152 transitions. [2022-04-15 13:58:56,881 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 13:58:56,882 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 57 [2022-04-15 13:58:56,882 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:58:56,882 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:58:56,882 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 42 transitions. [2022-04-15 13:58:56,882 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:58:56,883 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 42 transitions. [2022-04-15 13:58:56,883 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 42 transitions. [2022-04-15 13:58:58,942 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 41 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 13:58:58,944 INFO L225 Difference]: With dead ends: 139 [2022-04-15 13:58:58,944 INFO L226 Difference]: Without dead ends: 131 [2022-04-15 13:58:58,944 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 93 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 162 ImplicationChecksByTransitivity, 54.8s TimeCoverageRelationStatistics Valid=172, Invalid=688, Unknown=14, NotChecked=56, Total=930 [2022-04-15 13:58:58,945 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 23 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 144 mSolverCounterSat, 7 mSolverCounterUnsat, 6 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 12.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 158 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 144 IncrementalHoareTripleChecker+Invalid, 6 IncrementalHoareTripleChecker+Unknown, 1 IncrementalHoareTripleChecker+Unchecked, 12.2s IncrementalHoareTripleChecker+Time [2022-04-15 13:58:58,945 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 139 Invalid, 158 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 144 Invalid, 6 Unknown, 1 Unchecked, 12.2s Time] [2022-04-15 13:58:58,945 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-04-15 13:58:59,257 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 126. [2022-04-15 13:58:59,257 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:58:59,257 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand has 126 states, 93 states have (on average 1.086021505376344) internal successors, (101), 97 states have internal predecessors, (101), 19 states have call successors, (19), 14 states have call predecessors, (19), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 13:58:59,257 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand has 126 states, 93 states have (on average 1.086021505376344) internal successors, (101), 97 states have internal predecessors, (101), 19 states have call successors, (19), 14 states have call predecessors, (19), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 13:58:59,257 INFO L87 Difference]: Start difference. First operand 131 states. Second operand has 126 states, 93 states have (on average 1.086021505376344) internal successors, (101), 97 states have internal predecessors, (101), 19 states have call successors, (19), 14 states have call predecessors, (19), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 13:58:59,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:58:59,259 INFO L93 Difference]: Finished difference Result 131 states and 144 transitions. [2022-04-15 13:58:59,259 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 144 transitions. [2022-04-15 13:58:59,259 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:58:59,260 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:58:59,260 INFO L74 IsIncluded]: Start isIncluded. First operand has 126 states, 93 states have (on average 1.086021505376344) internal successors, (101), 97 states have internal predecessors, (101), 19 states have call successors, (19), 14 states have call predecessors, (19), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) Second operand 131 states. [2022-04-15 13:58:59,260 INFO L87 Difference]: Start difference. First operand has 126 states, 93 states have (on average 1.086021505376344) internal successors, (101), 97 states have internal predecessors, (101), 19 states have call successors, (19), 14 states have call predecessors, (19), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) Second operand 131 states. [2022-04-15 13:58:59,261 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:58:59,261 INFO L93 Difference]: Finished difference Result 131 states and 144 transitions. [2022-04-15 13:58:59,261 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 144 transitions. [2022-04-15 13:58:59,261 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:58:59,261 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:58:59,262 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:58:59,262 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:58:59,262 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 126 states, 93 states have (on average 1.086021505376344) internal successors, (101), 97 states have internal predecessors, (101), 19 states have call successors, (19), 14 states have call predecessors, (19), 13 states have return successors, (18), 14 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-15 13:58:59,263 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 126 states to 126 states and 138 transitions. [2022-04-15 13:58:59,263 INFO L78 Accepts]: Start accepts. Automaton has 126 states and 138 transitions. Word has length 57 [2022-04-15 13:58:59,263 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:58:59,263 INFO L478 AbstractCegarLoop]: Abstraction has 126 states and 138 transitions. [2022-04-15 13:58:59,263 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 12 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 13:58:59,263 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 126 states and 138 transitions. [2022-04-15 13:59:01,646 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 137 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 13:59:01,647 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 138 transitions. [2022-04-15 13:59:01,647 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-15 13:59:01,647 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:59:01,647 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 13:59:01,654 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-04-15 13:59:01,852 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-15 13:59:01,854 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:59:01,854 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:59:01,854 INFO L85 PathProgramCache]: Analyzing trace with hash 1830651545, now seen corresponding path program 7 times [2022-04-15 13:59:01,854 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:59:01,854 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1682746321] [2022-04-15 13:59:01,855 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:59:01,855 INFO L85 PathProgramCache]: Analyzing trace with hash 1830651545, now seen corresponding path program 8 times [2022-04-15 13:59:01,855 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:59:01,855 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [782972662] [2022-04-15 13:59:01,855 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:59:01,855 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:59:01,866 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:59:01,867 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2020193660] [2022-04-15 13:59:01,867 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 13:59:01,867 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:59:01,867 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:59:01,868 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:59:01,868 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-15 13:59:01,923 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 13:59:01,923 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:59:01,924 INFO L263 TraceCheckSpWp]: Trace formula consists of 160 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-15 13:59:01,943 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:59:01,944 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:59:02,526 INFO L272 TraceCheckUtils]: 0: Hoare triple {17987#true} call ULTIMATE.init(); {17987#true} is VALID [2022-04-15 13:59:02,526 INFO L290 TraceCheckUtils]: 1: Hoare triple {17987#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(15, 2);call #Ultimate.allocInit(12, 3); {17987#true} is VALID [2022-04-15 13:59:02,526 INFO L290 TraceCheckUtils]: 2: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 13:59:02,526 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17987#true} {17987#true} #69#return; {17987#true} is VALID [2022-04-15 13:59:02,526 INFO L272 TraceCheckUtils]: 4: Hoare triple {17987#true} call #t~ret8 := main(); {17987#true} is VALID [2022-04-15 13:59:02,526 INFO L290 TraceCheckUtils]: 5: Hoare triple {17987#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {17987#true} is VALID [2022-04-15 13:59:02,526 INFO L272 TraceCheckUtils]: 6: Hoare triple {17987#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {17987#true} is VALID [2022-04-15 13:59:02,526 INFO L290 TraceCheckUtils]: 7: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-15 13:59:02,527 INFO L290 TraceCheckUtils]: 8: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-15 13:59:02,527 INFO L290 TraceCheckUtils]: 9: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 13:59:02,527 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17987#true} {17987#true} #61#return; {17987#true} is VALID [2022-04-15 13:59:02,527 INFO L290 TraceCheckUtils]: 11: Hoare triple {17987#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {17987#true} is VALID [2022-04-15 13:59:02,527 INFO L272 TraceCheckUtils]: 12: Hoare triple {17987#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {17987#true} is VALID [2022-04-15 13:59:02,527 INFO L290 TraceCheckUtils]: 13: Hoare triple {17987#true} ~cond := #in~cond; {18031#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 13:59:02,527 INFO L290 TraceCheckUtils]: 14: Hoare triple {18031#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {18035#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:59:02,528 INFO L290 TraceCheckUtils]: 15: Hoare triple {18035#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {18035#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 13:59:02,528 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18035#(not (= |assume_abort_if_not_#in~cond| 0))} {17987#true} #63#return; {18042#(and (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:59:02,528 INFO L290 TraceCheckUtils]: 17: Hoare triple {18042#(and (<= 0 main_~Y~0) (<= main_~Y~0 100))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {18046#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:59:02,529 INFO L290 TraceCheckUtils]: 18: Hoare triple {18046#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18046#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:59:02,529 INFO L272 TraceCheckUtils]: 19: Hoare triple {18046#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17987#true} is VALID [2022-04-15 13:59:02,529 INFO L290 TraceCheckUtils]: 20: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-15 13:59:02,529 INFO L290 TraceCheckUtils]: 21: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-15 13:59:02,529 INFO L290 TraceCheckUtils]: 22: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 13:59:02,529 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17987#true} {18046#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} #65#return; {18046#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:59:02,530 INFO L290 TraceCheckUtils]: 24: Hoare triple {18046#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume !!(~x~0 <= ~X~0); {18046#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:59:02,530 INFO L290 TraceCheckUtils]: 25: Hoare triple {18046#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18071#(and (= main_~x~0 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:59:02,531 INFO L290 TraceCheckUtils]: 26: Hoare triple {18071#(and (= main_~x~0 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:59:02,531 INFO L290 TraceCheckUtils]: 27: Hoare triple {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:59:02,531 INFO L272 TraceCheckUtils]: 28: Hoare triple {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17987#true} is VALID [2022-04-15 13:59:02,531 INFO L290 TraceCheckUtils]: 29: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-15 13:59:02,531 INFO L290 TraceCheckUtils]: 30: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-15 13:59:02,531 INFO L290 TraceCheckUtils]: 31: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 13:59:02,532 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {17987#true} {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #65#return; {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:59:02,532 INFO L290 TraceCheckUtils]: 33: Hoare triple {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:59:02,533 INFO L290 TraceCheckUtils]: 34: Hoare triple {18075#(and (= (+ (- 1) main_~x~0) 0) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18100#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:59:02,533 INFO L290 TraceCheckUtils]: 35: Hoare triple {18100#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:59:02,534 INFO L290 TraceCheckUtils]: 36: Hoare triple {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:59:02,534 INFO L272 TraceCheckUtils]: 37: Hoare triple {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17987#true} is VALID [2022-04-15 13:59:02,534 INFO L290 TraceCheckUtils]: 38: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-15 13:59:02,534 INFO L290 TraceCheckUtils]: 39: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-15 13:59:02,534 INFO L290 TraceCheckUtils]: 40: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 13:59:02,534 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {17987#true} {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} #65#return; {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:59:02,535 INFO L290 TraceCheckUtils]: 42: Hoare triple {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume !!(~x~0 <= ~X~0); {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:59:02,535 INFO L290 TraceCheckUtils]: 43: Hoare triple {18104#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18129#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:59:02,536 INFO L290 TraceCheckUtils]: 44: Hoare triple {18129#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:59:02,536 INFO L290 TraceCheckUtils]: 45: Hoare triple {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:59:02,536 INFO L272 TraceCheckUtils]: 46: Hoare triple {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17987#true} is VALID [2022-04-15 13:59:02,536 INFO L290 TraceCheckUtils]: 47: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-15 13:59:02,536 INFO L290 TraceCheckUtils]: 48: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-15 13:59:02,536 INFO L290 TraceCheckUtils]: 49: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 13:59:02,537 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {17987#true} {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} #65#return; {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:59:02,537 INFO L290 TraceCheckUtils]: 51: Hoare triple {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume !!(~x~0 <= ~X~0); {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:59:02,538 INFO L290 TraceCheckUtils]: 52: Hoare triple {18133#(and (= main_~x~0 3) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 6)))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18158#(and (= main_~x~0 3) (= main_~v~0 (+ (* main_~Y~0 10) (* (- 1) main_~X~0))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:59:02,538 INFO L290 TraceCheckUtils]: 53: Hoare triple {18158#(and (= main_~x~0 3) (= main_~v~0 (+ (* main_~Y~0 10) (* (- 1) main_~X~0))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18162#(and (= main_~v~0 (+ (* main_~Y~0 10) (* (- 1) main_~X~0))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= main_~x~0 4))} is VALID [2022-04-15 13:59:02,539 INFO L290 TraceCheckUtils]: 54: Hoare triple {18162#(and (= main_~v~0 (+ (* main_~Y~0 10) (* (- 1) main_~X~0))) (<= 0 main_~Y~0) (= main_~y~0 0) (<= main_~Y~0 100) (= main_~x~0 4))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18166#(and (= main_~xy~0 0) (= main_~v~0 (+ (* main_~Y~0 10) (* (- 1) main_~X~0))) (= main_~yx~0 (* main_~Y~0 4)) (<= 0 main_~Y~0) (<= main_~Y~0 100))} is VALID [2022-04-15 13:59:02,539 INFO L272 TraceCheckUtils]: 55: Hoare triple {18166#(and (= main_~xy~0 0) (= main_~v~0 (+ (* main_~Y~0 10) (* (- 1) main_~X~0))) (= main_~yx~0 (* main_~Y~0 4)) (<= 0 main_~Y~0) (<= main_~Y~0 100))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {18170#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:59:02,540 INFO L290 TraceCheckUtils]: 56: Hoare triple {18170#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18174#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:59:02,540 INFO L290 TraceCheckUtils]: 57: Hoare triple {18174#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17988#false} is VALID [2022-04-15 13:59:02,540 INFO L290 TraceCheckUtils]: 58: Hoare triple {17988#false} assume !false; {17988#false} is VALID [2022-04-15 13:59:02,540 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 11 proven. 38 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2022-04-15 13:59:02,540 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:59:02,828 INFO L290 TraceCheckUtils]: 58: Hoare triple {17988#false} assume !false; {17988#false} is VALID [2022-04-15 13:59:02,829 INFO L290 TraceCheckUtils]: 57: Hoare triple {18174#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17988#false} is VALID [2022-04-15 13:59:02,829 INFO L290 TraceCheckUtils]: 56: Hoare triple {18170#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18174#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:59:02,830 INFO L272 TraceCheckUtils]: 55: Hoare triple {18190#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {18170#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:59:02,830 INFO L290 TraceCheckUtils]: 54: Hoare triple {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18190#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 13:59:02,833 INFO L290 TraceCheckUtils]: 53: Hoare triple {18198#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:59:02,834 INFO L290 TraceCheckUtils]: 52: Hoare triple {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18198#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 13:59:02,834 INFO L290 TraceCheckUtils]: 51: Hoare triple {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:59:02,834 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {17987#true} {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #65#return; {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:59:02,834 INFO L290 TraceCheckUtils]: 49: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 13:59:02,835 INFO L290 TraceCheckUtils]: 48: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-15 13:59:02,835 INFO L290 TraceCheckUtils]: 47: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-15 13:59:02,835 INFO L272 TraceCheckUtils]: 46: Hoare triple {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17987#true} is VALID [2022-04-15 13:59:02,835 INFO L290 TraceCheckUtils]: 45: Hoare triple {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:59:02,836 INFO L290 TraceCheckUtils]: 44: Hoare triple {18198#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:59:02,837 INFO L290 TraceCheckUtils]: 43: Hoare triple {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18198#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 13:59:02,837 INFO L290 TraceCheckUtils]: 42: Hoare triple {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:59:02,838 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {17987#true} {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #65#return; {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:59:02,838 INFO L290 TraceCheckUtils]: 40: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 13:59:02,838 INFO L290 TraceCheckUtils]: 39: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-15 13:59:02,838 INFO L290 TraceCheckUtils]: 38: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-15 13:59:02,838 INFO L272 TraceCheckUtils]: 37: Hoare triple {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17987#true} is VALID [2022-04-15 13:59:02,838 INFO L290 TraceCheckUtils]: 36: Hoare triple {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:59:02,840 INFO L290 TraceCheckUtils]: 35: Hoare triple {18198#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:59:02,840 INFO L290 TraceCheckUtils]: 34: Hoare triple {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18198#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 13:59:02,841 INFO L290 TraceCheckUtils]: 33: Hoare triple {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:59:02,841 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {17987#true} {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #65#return; {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:59:02,841 INFO L290 TraceCheckUtils]: 31: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 13:59:02,841 INFO L290 TraceCheckUtils]: 30: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-15 13:59:02,842 INFO L290 TraceCheckUtils]: 29: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-15 13:59:02,842 INFO L272 TraceCheckUtils]: 28: Hoare triple {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17987#true} is VALID [2022-04-15 13:59:02,842 INFO L290 TraceCheckUtils]: 27: Hoare triple {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:59:02,843 INFO L290 TraceCheckUtils]: 26: Hoare triple {18198#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:59:02,844 INFO L290 TraceCheckUtils]: 25: Hoare triple {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {18198#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 13:59:02,844 INFO L290 TraceCheckUtils]: 24: Hoare triple {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:59:02,845 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17987#true} {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #65#return; {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:59:02,845 INFO L290 TraceCheckUtils]: 22: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 13:59:02,845 INFO L290 TraceCheckUtils]: 21: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-15 13:59:02,845 INFO L290 TraceCheckUtils]: 20: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-15 13:59:02,845 INFO L272 TraceCheckUtils]: 19: Hoare triple {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {17987#true} is VALID [2022-04-15 13:59:02,845 INFO L290 TraceCheckUtils]: 18: Hoare triple {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:59:02,846 INFO L290 TraceCheckUtils]: 17: Hoare triple {17987#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {18194#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:59:02,846 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17987#true} {17987#true} #63#return; {17987#true} is VALID [2022-04-15 13:59:02,846 INFO L290 TraceCheckUtils]: 15: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 13:59:02,846 INFO L290 TraceCheckUtils]: 14: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-15 13:59:02,846 INFO L290 TraceCheckUtils]: 13: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-15 13:59:02,846 INFO L272 TraceCheckUtils]: 12: Hoare triple {17987#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {17987#true} is VALID [2022-04-15 13:59:02,846 INFO L290 TraceCheckUtils]: 11: Hoare triple {17987#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {17987#true} is VALID [2022-04-15 13:59:02,846 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17987#true} {17987#true} #61#return; {17987#true} is VALID [2022-04-15 13:59:02,846 INFO L290 TraceCheckUtils]: 9: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 13:59:02,846 INFO L290 TraceCheckUtils]: 8: Hoare triple {17987#true} assume !(0 == ~cond); {17987#true} is VALID [2022-04-15 13:59:02,846 INFO L290 TraceCheckUtils]: 7: Hoare triple {17987#true} ~cond := #in~cond; {17987#true} is VALID [2022-04-15 13:59:02,846 INFO L272 TraceCheckUtils]: 6: Hoare triple {17987#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {17987#true} is VALID [2022-04-15 13:59:02,846 INFO L290 TraceCheckUtils]: 5: Hoare triple {17987#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {17987#true} is VALID [2022-04-15 13:59:02,846 INFO L272 TraceCheckUtils]: 4: Hoare triple {17987#true} call #t~ret8 := main(); {17987#true} is VALID [2022-04-15 13:59:02,846 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17987#true} {17987#true} #69#return; {17987#true} is VALID [2022-04-15 13:59:02,847 INFO L290 TraceCheckUtils]: 2: Hoare triple {17987#true} assume true; {17987#true} is VALID [2022-04-15 13:59:02,847 INFO L290 TraceCheckUtils]: 1: Hoare triple {17987#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(15, 2);call #Ultimate.allocInit(12, 3); {17987#true} is VALID [2022-04-15 13:59:02,847 INFO L272 TraceCheckUtils]: 0: Hoare triple {17987#true} call ULTIMATE.init(); {17987#true} is VALID [2022-04-15 13:59:02,847 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 8 proven. 4 refuted. 0 times theorem prover too weak. 62 trivial. 0 not checked. [2022-04-15 13:59:02,847 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:59:02,847 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [782972662] [2022-04-15 13:59:02,847 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:59:02,847 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2020193660] [2022-04-15 13:59:02,847 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2020193660] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:59:02,847 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:59:02,847 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 7] total 20 [2022-04-15 13:59:02,847 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:59:02,847 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1682746321] [2022-04-15 13:59:02,848 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1682746321] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:59:02,848 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:59:02,848 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-15 13:59:02,848 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [656268522] [2022-04-15 13:59:02,848 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:59:02,848 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 16 states have (on average 2.125) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-15 13:59:02,848 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:59:02,848 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 16 states have (on average 2.125) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:59:02,892 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:59:02,892 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-15 13:59:02,892 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:59:02,892 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-15 13:59:02,893 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=323, Unknown=0, NotChecked=0, Total=380 [2022-04-15 13:59:02,893 INFO L87 Difference]: Start difference. First operand 126 states and 138 transitions. Second operand has 17 states, 16 states have (on average 2.125) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:59:04,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:59:04,386 INFO L93 Difference]: Finished difference Result 139 states and 153 transitions. [2022-04-15 13:59:04,386 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-15 13:59:04,386 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 16 states have (on average 2.125) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-15 13:59:04,386 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:59:04,386 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 16 states have (on average 2.125) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:59:04,391 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 66 transitions. [2022-04-15 13:59:04,391 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 16 states have (on average 2.125) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:59:04,392 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 66 transitions. [2022-04-15 13:59:04,392 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 66 transitions. [2022-04-15 13:59:04,455 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:59:04,457 INFO L225 Difference]: With dead ends: 139 [2022-04-15 13:59:04,457 INFO L226 Difference]: Without dead ends: 137 [2022-04-15 13:59:04,457 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 120 GetRequests, 94 SyntacticMatches, 5 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 134 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=72, Invalid=434, Unknown=0, NotChecked=0, Total=506 [2022-04-15 13:59:04,457 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 20 mSDsluCounter, 205 mSDsCounter, 0 mSdLazyCounter, 600 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 232 SdHoareTripleChecker+Invalid, 611 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 600 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 13:59:04,457 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 232 Invalid, 611 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 600 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 13:59:04,458 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2022-04-15 13:59:04,829 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 135. [2022-04-15 13:59:04,830 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:59:04,830 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand has 135 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 20 states have call successors, (20), 15 states have call predecessors, (20), 14 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 13:59:04,830 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand has 135 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 20 states have call successors, (20), 15 states have call predecessors, (20), 14 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 13:59:04,830 INFO L87 Difference]: Start difference. First operand 137 states. Second operand has 135 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 20 states have call successors, (20), 15 states have call predecessors, (20), 14 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 13:59:04,832 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:59:04,832 INFO L93 Difference]: Finished difference Result 137 states and 151 transitions. [2022-04-15 13:59:04,832 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 151 transitions. [2022-04-15 13:59:04,832 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:59:04,832 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:59:04,832 INFO L74 IsIncluded]: Start isIncluded. First operand has 135 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 20 states have call successors, (20), 15 states have call predecessors, (20), 14 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) Second operand 137 states. [2022-04-15 13:59:04,832 INFO L87 Difference]: Start difference. First operand has 135 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 20 states have call successors, (20), 15 states have call predecessors, (20), 14 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) Second operand 137 states. [2022-04-15 13:59:04,834 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:59:04,834 INFO L93 Difference]: Finished difference Result 137 states and 151 transitions. [2022-04-15 13:59:04,834 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 151 transitions. [2022-04-15 13:59:04,834 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:59:04,834 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:59:04,834 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:59:04,834 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:59:04,834 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 135 states, 100 states have (on average 1.09) internal successors, (109), 104 states have internal predecessors, (109), 20 states have call successors, (20), 15 states have call predecessors, (20), 14 states have return successors, (19), 15 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-15 13:59:04,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 135 states to 135 states and 148 transitions. [2022-04-15 13:59:04,836 INFO L78 Accepts]: Start accepts. Automaton has 135 states and 148 transitions. Word has length 59 [2022-04-15 13:59:04,836 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:59:04,836 INFO L478 AbstractCegarLoop]: Abstraction has 135 states and 148 transitions. [2022-04-15 13:59:04,836 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 16 states have (on average 2.125) internal successors, (34), 15 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:59:04,836 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 135 states and 148 transitions. [2022-04-15 13:59:07,231 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 148 edges. 147 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 13:59:07,232 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 148 transitions. [2022-04-15 13:59:07,232 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-15 13:59:07,232 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:59:07,232 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 13:59:07,238 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Forceful destruction successful, exit code 0 [2022-04-15 13:59:07,433 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:59:07,434 INFO L403 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:59:07,434 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:59:07,434 INFO L85 PathProgramCache]: Analyzing trace with hash -689308389, now seen corresponding path program 15 times [2022-04-15 13:59:07,434 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:59:07,434 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [432113433] [2022-04-15 13:59:07,434 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:59:07,434 INFO L85 PathProgramCache]: Analyzing trace with hash -689308389, now seen corresponding path program 16 times [2022-04-15 13:59:07,443 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:59:07,443 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [422072996] [2022-04-15 13:59:07,443 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:59:07,443 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:59:07,452 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:59:07,452 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [973362340] [2022-04-15 13:59:07,452 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 13:59:07,452 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:59:07,453 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:59:07,453 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:59:07,454 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-15 13:59:07,492 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 13:59:07,492 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:59:07,493 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-15 13:59:07,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:59:07,506 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:59:19,491 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:59:23,000 INFO L272 TraceCheckUtils]: 0: Hoare triple {19188#true} call ULTIMATE.init(); {19188#true} is VALID [2022-04-15 13:59:23,000 INFO L290 TraceCheckUtils]: 1: Hoare triple {19188#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(15, 2);call #Ultimate.allocInit(12, 3); {19188#true} is VALID [2022-04-15 13:59:23,000 INFO L290 TraceCheckUtils]: 2: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-15 13:59:23,000 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19188#true} {19188#true} #69#return; {19188#true} is VALID [2022-04-15 13:59:23,000 INFO L272 TraceCheckUtils]: 4: Hoare triple {19188#true} call #t~ret8 := main(); {19188#true} is VALID [2022-04-15 13:59:23,000 INFO L290 TraceCheckUtils]: 5: Hoare triple {19188#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {19188#true} is VALID [2022-04-15 13:59:23,000 INFO L272 TraceCheckUtils]: 6: Hoare triple {19188#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {19188#true} is VALID [2022-04-15 13:59:23,000 INFO L290 TraceCheckUtils]: 7: Hoare triple {19188#true} ~cond := #in~cond; {19188#true} is VALID [2022-04-15 13:59:23,000 INFO L290 TraceCheckUtils]: 8: Hoare triple {19188#true} assume !(0 == ~cond); {19188#true} is VALID [2022-04-15 13:59:23,001 INFO L290 TraceCheckUtils]: 9: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-15 13:59:23,001 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19188#true} {19188#true} #61#return; {19188#true} is VALID [2022-04-15 13:59:23,001 INFO L290 TraceCheckUtils]: 11: Hoare triple {19188#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {19188#true} is VALID [2022-04-15 13:59:23,001 INFO L272 TraceCheckUtils]: 12: Hoare triple {19188#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {19188#true} is VALID [2022-04-15 13:59:23,001 INFO L290 TraceCheckUtils]: 13: Hoare triple {19188#true} ~cond := #in~cond; {19188#true} is VALID [2022-04-15 13:59:23,001 INFO L290 TraceCheckUtils]: 14: Hoare triple {19188#true} assume !(0 == ~cond); {19188#true} is VALID [2022-04-15 13:59:23,001 INFO L290 TraceCheckUtils]: 15: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-15 13:59:23,001 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {19188#true} {19188#true} #63#return; {19188#true} is VALID [2022-04-15 13:59:23,002 INFO L290 TraceCheckUtils]: 17: Hoare triple {19188#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {19244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:59:23,002 INFO L290 TraceCheckUtils]: 18: Hoare triple {19244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:59:23,002 INFO L272 TraceCheckUtils]: 19: Hoare triple {19244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19188#true} is VALID [2022-04-15 13:59:23,002 INFO L290 TraceCheckUtils]: 20: Hoare triple {19188#true} ~cond := #in~cond; {19188#true} is VALID [2022-04-15 13:59:23,002 INFO L290 TraceCheckUtils]: 21: Hoare triple {19188#true} assume !(0 == ~cond); {19188#true} is VALID [2022-04-15 13:59:23,002 INFO L290 TraceCheckUtils]: 22: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-15 13:59:23,003 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19188#true} {19244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {19244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:59:23,003 INFO L290 TraceCheckUtils]: 24: Hoare triple {19244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {19244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:59:23,004 INFO L290 TraceCheckUtils]: 25: Hoare triple {19244#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19269#(and (= main_~x~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-15 13:59:23,004 INFO L290 TraceCheckUtils]: 26: Hoare triple {19269#(and (= main_~x~0 0) (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19273#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-15 13:59:23,005 INFO L290 TraceCheckUtils]: 27: Hoare triple {19273#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19277#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} is VALID [2022-04-15 13:59:23,005 INFO L272 TraceCheckUtils]: 28: Hoare triple {19277#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19188#true} is VALID [2022-04-15 13:59:23,005 INFO L290 TraceCheckUtils]: 29: Hoare triple {19188#true} ~cond := #in~cond; {19284#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:59:23,005 INFO L290 TraceCheckUtils]: 30: Hoare triple {19284#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:59:23,006 INFO L290 TraceCheckUtils]: 31: Hoare triple {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:59:23,006 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} {19277#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0))} #65#return; {19273#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-15 13:59:23,007 INFO L290 TraceCheckUtils]: 33: Hoare triple {19273#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {19273#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} is VALID [2022-04-15 13:59:23,007 INFO L290 TraceCheckUtils]: 34: Hoare triple {19273#(and (= main_~v~0 (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~x~0 1) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19301#(and (= main_~x~0 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-15 13:59:23,008 INFO L290 TraceCheckUtils]: 35: Hoare triple {19301#(and (= main_~x~0 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19305#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-15 13:59:23,008 INFO L290 TraceCheckUtils]: 36: Hoare triple {19305#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19305#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-15 13:59:23,008 INFO L272 TraceCheckUtils]: 37: Hoare triple {19305#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19188#true} is VALID [2022-04-15 13:59:23,008 INFO L290 TraceCheckUtils]: 38: Hoare triple {19188#true} ~cond := #in~cond; {19284#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:59:23,009 INFO L290 TraceCheckUtils]: 39: Hoare triple {19284#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:59:23,009 INFO L290 TraceCheckUtils]: 40: Hoare triple {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:59:23,009 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} {19305#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} #65#return; {19305#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-15 13:59:23,010 INFO L290 TraceCheckUtils]: 42: Hoare triple {19305#(and (= (+ (- 1) main_~x~0) 1) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} assume !!(~x~0 <= ~X~0); {19327#(and (= (+ (- 1) main_~x~0) 1) (<= main_~x~0 main_~X~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} is VALID [2022-04-15 13:59:23,010 INFO L290 TraceCheckUtils]: 43: Hoare triple {19327#(and (= (+ (- 1) main_~x~0) 1) (<= main_~x~0 main_~X~0) (= main_~y~0 0) (= (+ main_~v~0 (* (- 2) main_~Y~0)) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19331#(and (= (+ (- 1) main_~x~0) 1) (<= main_~x~0 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} is VALID [2022-04-15 13:59:23,011 INFO L290 TraceCheckUtils]: 44: Hoare triple {19331#(and (= (+ (- 1) main_~x~0) 1) (<= main_~x~0 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19335#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 3) (= main_~y~0 0))} is VALID [2022-04-15 13:59:23,011 INFO L290 TraceCheckUtils]: 45: Hoare triple {19335#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 3) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19339#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 3) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 13:59:23,011 INFO L272 TraceCheckUtils]: 46: Hoare triple {19339#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 3) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19188#true} is VALID [2022-04-15 13:59:23,011 INFO L290 TraceCheckUtils]: 47: Hoare triple {19188#true} ~cond := #in~cond; {19284#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:59:23,012 INFO L290 TraceCheckUtils]: 48: Hoare triple {19284#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:59:23,012 INFO L290 TraceCheckUtils]: 49: Hoare triple {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:59:23,013 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} {19339#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (<= main_~x~0 3) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {19355#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 3) (= main_~y~0 0))} is VALID [2022-04-15 13:59:23,014 INFO L290 TraceCheckUtils]: 51: Hoare triple {19355#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 3) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {19355#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 3) (= main_~y~0 0))} is VALID [2022-04-15 13:59:23,014 INFO L290 TraceCheckUtils]: 52: Hoare triple {19355#(and (<= 2 main_~X~0) (= (+ main_~v~0 (* main_~Y~0 (- 4))) (+ (* (- 1) main_~X~0) (* main_~Y~0 4))) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= main_~x~0 3) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {19362#(and (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ main_~v~0 (* main_~X~0 3))) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 10)) (= main_~y~0 1) (<= 2 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-15 13:59:23,016 INFO L290 TraceCheckUtils]: 53: Hoare triple {19362#(and (= (+ (* main_~Y~0 4) (* 2 (* main_~Y~0 main_~x~0))) (+ main_~v~0 (* main_~X~0 3))) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 10)) (= main_~y~0 1) (<= 2 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19366#(and (= (+ main_~v~0 (* main_~X~0 3)) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 10)) (= main_~y~0 1) (<= 2 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-15 13:59:23,018 INFO L290 TraceCheckUtils]: 54: Hoare triple {19366#(and (= (+ main_~v~0 (* main_~X~0 3)) (+ (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)) (* main_~Y~0 4))) (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 10)) (= main_~y~0 1) (<= 2 main_~X~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19370#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 10)) (<= 2 main_~X~0) (= (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0) (= main_~X~0 main_~xy~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} is VALID [2022-04-15 13:59:23,020 INFO L272 TraceCheckUtils]: 55: Hoare triple {19370#(and (= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 10)) (<= 2 main_~X~0) (= (* (div (+ (div (+ (* main_~X~0 (- 3)) (* (- 1) main_~v~0)) (- 2)) (* (- 1) main_~Y~0)) main_~Y~0) main_~Y~0) main_~yx~0) (= main_~X~0 main_~xy~0) (<= (* main_~Y~0 2) (+ main_~v~0 (* main_~X~0 2))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19374#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:59:23,020 INFO L290 TraceCheckUtils]: 56: Hoare triple {19374#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19378#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:59:23,021 INFO L290 TraceCheckUtils]: 57: Hoare triple {19378#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19189#false} is VALID [2022-04-15 13:59:23,021 INFO L290 TraceCheckUtils]: 58: Hoare triple {19189#false} assume !false; {19189#false} is VALID [2022-04-15 13:59:23,021 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 14 proven. 41 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-15 13:59:23,021 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:59:26,515 INFO L290 TraceCheckUtils]: 58: Hoare triple {19189#false} assume !false; {19189#false} is VALID [2022-04-15 13:59:26,515 INFO L290 TraceCheckUtils]: 57: Hoare triple {19378#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19189#false} is VALID [2022-04-15 13:59:26,516 INFO L290 TraceCheckUtils]: 56: Hoare triple {19374#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19378#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:59:26,516 INFO L272 TraceCheckUtils]: 55: Hoare triple {19394#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19374#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:59:26,517 INFO L290 TraceCheckUtils]: 54: Hoare triple {19398#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19394#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 13:59:26,520 INFO L290 TraceCheckUtils]: 53: Hoare triple {19402#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19398#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:59:26,522 INFO L290 TraceCheckUtils]: 52: Hoare triple {19406#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {19402#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 13:59:26,522 INFO L290 TraceCheckUtils]: 51: Hoare triple {19406#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} assume !!(~x~0 <= ~X~0); {19406#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 13:59:26,523 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} {19413#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {19406#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))))} is VALID [2022-04-15 13:59:26,523 INFO L290 TraceCheckUtils]: 49: Hoare triple {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:59:26,523 INFO L290 TraceCheckUtils]: 48: Hoare triple {19423#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {19288#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:59:26,523 INFO L290 TraceCheckUtils]: 47: Hoare triple {19188#true} ~cond := #in~cond; {19423#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 13:59:26,524 INFO L272 TraceCheckUtils]: 46: Hoare triple {19413#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19188#true} is VALID [2022-04-15 13:59:26,525 INFO L290 TraceCheckUtils]: 45: Hoare triple {19188#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19413#(or (< main_~v~0 0) (= (+ main_~v~0 (* (- 1) main_~X~0) (* main_~Y~0 2) (* (* main_~X~0 (+ main_~y~0 1)) 2)) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0)))) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-15 13:59:26,525 INFO L290 TraceCheckUtils]: 44: Hoare triple {19188#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19188#true} is VALID [2022-04-15 13:59:26,525 INFO L290 TraceCheckUtils]: 43: Hoare triple {19188#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19188#true} is VALID [2022-04-15 13:59:26,525 INFO L290 TraceCheckUtils]: 42: Hoare triple {19188#true} assume !!(~x~0 <= ~X~0); {19188#true} is VALID [2022-04-15 13:59:26,525 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19188#true} {19188#true} #65#return; {19188#true} is VALID [2022-04-15 13:59:26,525 INFO L290 TraceCheckUtils]: 40: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-15 13:59:26,525 INFO L290 TraceCheckUtils]: 39: Hoare triple {19188#true} assume !(0 == ~cond); {19188#true} is VALID [2022-04-15 13:59:26,525 INFO L290 TraceCheckUtils]: 38: Hoare triple {19188#true} ~cond := #in~cond; {19188#true} is VALID [2022-04-15 13:59:26,525 INFO L272 TraceCheckUtils]: 37: Hoare triple {19188#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19188#true} is VALID [2022-04-15 13:59:26,525 INFO L290 TraceCheckUtils]: 36: Hoare triple {19188#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19188#true} is VALID [2022-04-15 13:59:26,525 INFO L290 TraceCheckUtils]: 35: Hoare triple {19188#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19188#true} is VALID [2022-04-15 13:59:26,525 INFO L290 TraceCheckUtils]: 34: Hoare triple {19188#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19188#true} is VALID [2022-04-15 13:59:26,525 INFO L290 TraceCheckUtils]: 33: Hoare triple {19188#true} assume !!(~x~0 <= ~X~0); {19188#true} is VALID [2022-04-15 13:59:26,525 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {19188#true} {19188#true} #65#return; {19188#true} is VALID [2022-04-15 13:59:26,525 INFO L290 TraceCheckUtils]: 31: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-15 13:59:26,525 INFO L290 TraceCheckUtils]: 30: Hoare triple {19188#true} assume !(0 == ~cond); {19188#true} is VALID [2022-04-15 13:59:26,525 INFO L290 TraceCheckUtils]: 29: Hoare triple {19188#true} ~cond := #in~cond; {19188#true} is VALID [2022-04-15 13:59:26,525 INFO L272 TraceCheckUtils]: 28: Hoare triple {19188#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19188#true} is VALID [2022-04-15 13:59:26,525 INFO L290 TraceCheckUtils]: 27: Hoare triple {19188#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19188#true} is VALID [2022-04-15 13:59:26,526 INFO L290 TraceCheckUtils]: 26: Hoare triple {19188#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {19188#true} is VALID [2022-04-15 13:59:26,526 INFO L290 TraceCheckUtils]: 25: Hoare triple {19188#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {19188#true} is VALID [2022-04-15 13:59:26,526 INFO L290 TraceCheckUtils]: 24: Hoare triple {19188#true} assume !!(~x~0 <= ~X~0); {19188#true} is VALID [2022-04-15 13:59:26,526 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19188#true} {19188#true} #65#return; {19188#true} is VALID [2022-04-15 13:59:26,526 INFO L290 TraceCheckUtils]: 22: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-15 13:59:26,526 INFO L290 TraceCheckUtils]: 21: Hoare triple {19188#true} assume !(0 == ~cond); {19188#true} is VALID [2022-04-15 13:59:26,526 INFO L290 TraceCheckUtils]: 20: Hoare triple {19188#true} ~cond := #in~cond; {19188#true} is VALID [2022-04-15 13:59:26,526 INFO L272 TraceCheckUtils]: 19: Hoare triple {19188#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {19188#true} is VALID [2022-04-15 13:59:26,526 INFO L290 TraceCheckUtils]: 18: Hoare triple {19188#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {19188#true} is VALID [2022-04-15 13:59:26,526 INFO L290 TraceCheckUtils]: 17: Hoare triple {19188#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {19188#true} is VALID [2022-04-15 13:59:26,526 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {19188#true} {19188#true} #63#return; {19188#true} is VALID [2022-04-15 13:59:26,526 INFO L290 TraceCheckUtils]: 15: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-15 13:59:26,526 INFO L290 TraceCheckUtils]: 14: Hoare triple {19188#true} assume !(0 == ~cond); {19188#true} is VALID [2022-04-15 13:59:26,526 INFO L290 TraceCheckUtils]: 13: Hoare triple {19188#true} ~cond := #in~cond; {19188#true} is VALID [2022-04-15 13:59:26,526 INFO L272 TraceCheckUtils]: 12: Hoare triple {19188#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {19188#true} is VALID [2022-04-15 13:59:26,526 INFO L290 TraceCheckUtils]: 11: Hoare triple {19188#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {19188#true} is VALID [2022-04-15 13:59:26,526 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19188#true} {19188#true} #61#return; {19188#true} is VALID [2022-04-15 13:59:26,526 INFO L290 TraceCheckUtils]: 9: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-15 13:59:26,526 INFO L290 TraceCheckUtils]: 8: Hoare triple {19188#true} assume !(0 == ~cond); {19188#true} is VALID [2022-04-15 13:59:26,526 INFO L290 TraceCheckUtils]: 7: Hoare triple {19188#true} ~cond := #in~cond; {19188#true} is VALID [2022-04-15 13:59:26,526 INFO L272 TraceCheckUtils]: 6: Hoare triple {19188#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {19188#true} is VALID [2022-04-15 13:59:26,527 INFO L290 TraceCheckUtils]: 5: Hoare triple {19188#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {19188#true} is VALID [2022-04-15 13:59:26,527 INFO L272 TraceCheckUtils]: 4: Hoare triple {19188#true} call #t~ret8 := main(); {19188#true} is VALID [2022-04-15 13:59:26,527 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19188#true} {19188#true} #69#return; {19188#true} is VALID [2022-04-15 13:59:26,527 INFO L290 TraceCheckUtils]: 2: Hoare triple {19188#true} assume true; {19188#true} is VALID [2022-04-15 13:59:26,527 INFO L290 TraceCheckUtils]: 1: Hoare triple {19188#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(15, 2);call #Ultimate.allocInit(12, 3); {19188#true} is VALID [2022-04-15 13:59:26,527 INFO L272 TraceCheckUtils]: 0: Hoare triple {19188#true} call ULTIMATE.init(); {19188#true} is VALID [2022-04-15 13:59:26,527 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 35 proven. 2 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-04-15 13:59:26,527 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:59:26,527 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [422072996] [2022-04-15 13:59:26,527 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:59:26,527 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [973362340] [2022-04-15 13:59:26,527 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [973362340] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:59:26,527 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:59:26,527 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 11] total 26 [2022-04-15 13:59:26,528 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:59:26,528 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [432113433] [2022-04-15 13:59:26,528 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [432113433] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:59:26,528 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:59:26,528 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-15 13:59:26,528 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1952126937] [2022-04-15 13:59:26,528 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:59:26,528 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 17 states have (on average 2.0) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-15 13:59:26,528 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:59:26,528 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 17 states have (on average 2.0) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:59:26,575 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:59:26,576 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-15 13:59:26,576 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:59:26,576 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-15 13:59:26,576 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=562, Unknown=0, NotChecked=0, Total=650 [2022-04-15 13:59:26,576 INFO L87 Difference]: Start difference. First operand 135 states and 148 transitions. Second operand has 20 states, 17 states have (on average 2.0) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:59:28,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:59:28,660 INFO L93 Difference]: Finished difference Result 150 states and 162 transitions. [2022-04-15 13:59:28,660 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-15 13:59:28,660 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 17 states have (on average 2.0) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-15 13:59:28,661 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:59:28,661 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 17 states have (on average 2.0) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:59:28,661 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-15 13:59:28,661 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 17 states have (on average 2.0) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:59:28,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-15 13:59:28,662 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 65 transitions. [2022-04-15 13:59:28,732 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:59:28,733 INFO L225 Difference]: With dead ends: 150 [2022-04-15 13:59:28,733 INFO L226 Difference]: Without dead ends: 148 [2022-04-15 13:59:28,734 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 90 SyntacticMatches, 3 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 124 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=118, Invalid=752, Unknown=0, NotChecked=0, Total=870 [2022-04-15 13:59:28,734 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 19 mSDsluCounter, 191 mSDsCounter, 0 mSdLazyCounter, 545 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 215 SdHoareTripleChecker+Invalid, 553 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 545 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-15 13:59:28,734 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 215 Invalid, 553 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 545 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 13:59:28,734 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 148 states. [2022-04-15 13:59:29,094 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 148 to 146. [2022-04-15 13:59:29,094 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:59:29,095 INFO L82 GeneralOperation]: Start isEquivalent. First operand 148 states. Second operand has 146 states, 108 states have (on average 1.0833333333333333) internal successors, (117), 113 states have internal predecessors, (117), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 15 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-15 13:59:29,095 INFO L74 IsIncluded]: Start isIncluded. First operand 148 states. Second operand has 146 states, 108 states have (on average 1.0833333333333333) internal successors, (117), 113 states have internal predecessors, (117), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 15 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-15 13:59:29,095 INFO L87 Difference]: Start difference. First operand 148 states. Second operand has 146 states, 108 states have (on average 1.0833333333333333) internal successors, (117), 113 states have internal predecessors, (117), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 15 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-15 13:59:29,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:59:29,097 INFO L93 Difference]: Finished difference Result 148 states and 160 transitions. [2022-04-15 13:59:29,097 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 160 transitions. [2022-04-15 13:59:29,097 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:59:29,097 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:59:29,097 INFO L74 IsIncluded]: Start isIncluded. First operand has 146 states, 108 states have (on average 1.0833333333333333) internal successors, (117), 113 states have internal predecessors, (117), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 15 states have call predecessors, (20), 20 states have call successors, (20) Second operand 148 states. [2022-04-15 13:59:29,097 INFO L87 Difference]: Start difference. First operand has 146 states, 108 states have (on average 1.0833333333333333) internal successors, (117), 113 states have internal predecessors, (117), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 15 states have call predecessors, (20), 20 states have call successors, (20) Second operand 148 states. [2022-04-15 13:59:29,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:59:29,099 INFO L93 Difference]: Finished difference Result 148 states and 160 transitions. [2022-04-15 13:59:29,099 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 160 transitions. [2022-04-15 13:59:29,099 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:59:29,099 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:59:29,099 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:59:29,099 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:59:29,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 146 states, 108 states have (on average 1.0833333333333333) internal successors, (117), 113 states have internal predecessors, (117), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 15 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-15 13:59:29,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 146 states to 146 states and 158 transitions. [2022-04-15 13:59:29,101 INFO L78 Accepts]: Start accepts. Automaton has 146 states and 158 transitions. Word has length 59 [2022-04-15 13:59:29,101 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:59:29,101 INFO L478 AbstractCegarLoop]: Abstraction has 146 states and 158 transitions. [2022-04-15 13:59:29,101 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 17 states have (on average 2.0) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:59:29,101 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 146 states and 158 transitions. [2022-04-15 13:59:31,548 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 158 edges. 157 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 13:59:31,548 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 158 transitions. [2022-04-15 13:59:31,563 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-15 13:59:31,563 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:59:31,563 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 13:59:31,583 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-15 13:59:31,764 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:59:31,764 INFO L403 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:59:31,764 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:59:31,764 INFO L85 PathProgramCache]: Analyzing trace with hash 809583191, now seen corresponding path program 17 times [2022-04-15 13:59:31,764 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:59:31,764 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [477315505] [2022-04-15 13:59:31,765 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:59:31,765 INFO L85 PathProgramCache]: Analyzing trace with hash 809583191, now seen corresponding path program 18 times [2022-04-15 13:59:31,765 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:59:31,765 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1651431678] [2022-04-15 13:59:31,765 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:59:31,765 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:59:31,774 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:59:31,774 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1135110589] [2022-04-15 13:59:31,774 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 13:59:31,774 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:59:31,774 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:59:31,775 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:59:31,775 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-15 13:59:31,830 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 13:59:31,830 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:59:31,831 INFO L263 TraceCheckSpWp]: Trace formula consists of 162 conjuncts, 50 conjunts are in the unsatisfiable core [2022-04-15 13:59:31,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:59:31,842 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:59:32,366 INFO L272 TraceCheckUtils]: 0: Hoare triple {20463#true} call ULTIMATE.init(); {20463#true} is VALID [2022-04-15 13:59:32,366 INFO L290 TraceCheckUtils]: 1: Hoare triple {20463#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(15, 2);call #Ultimate.allocInit(12, 3); {20463#true} is VALID [2022-04-15 13:59:32,366 INFO L290 TraceCheckUtils]: 2: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-15 13:59:32,366 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20463#true} {20463#true} #69#return; {20463#true} is VALID [2022-04-15 13:59:32,366 INFO L272 TraceCheckUtils]: 4: Hoare triple {20463#true} call #t~ret8 := main(); {20463#true} is VALID [2022-04-15 13:59:32,366 INFO L290 TraceCheckUtils]: 5: Hoare triple {20463#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {20463#true} is VALID [2022-04-15 13:59:32,366 INFO L272 TraceCheckUtils]: 6: Hoare triple {20463#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {20463#true} is VALID [2022-04-15 13:59:32,366 INFO L290 TraceCheckUtils]: 7: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-15 13:59:32,366 INFO L290 TraceCheckUtils]: 8: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-15 13:59:32,366 INFO L290 TraceCheckUtils]: 9: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-15 13:59:32,366 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20463#true} {20463#true} #61#return; {20463#true} is VALID [2022-04-15 13:59:32,366 INFO L290 TraceCheckUtils]: 11: Hoare triple {20463#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {20463#true} is VALID [2022-04-15 13:59:32,367 INFO L272 TraceCheckUtils]: 12: Hoare triple {20463#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {20463#true} is VALID [2022-04-15 13:59:32,367 INFO L290 TraceCheckUtils]: 13: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-15 13:59:32,367 INFO L290 TraceCheckUtils]: 14: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-15 13:59:32,367 INFO L290 TraceCheckUtils]: 15: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-15 13:59:32,367 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20463#true} {20463#true} #63#return; {20463#true} is VALID [2022-04-15 13:59:32,367 INFO L290 TraceCheckUtils]: 17: Hoare triple {20463#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {20519#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:59:32,367 INFO L290 TraceCheckUtils]: 18: Hoare triple {20519#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20519#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:59:32,368 INFO L272 TraceCheckUtils]: 19: Hoare triple {20519#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20463#true} is VALID [2022-04-15 13:59:32,368 INFO L290 TraceCheckUtils]: 20: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-15 13:59:32,368 INFO L290 TraceCheckUtils]: 21: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-15 13:59:32,368 INFO L290 TraceCheckUtils]: 22: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-15 13:59:32,368 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20463#true} {20519#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {20519#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:59:32,369 INFO L290 TraceCheckUtils]: 24: Hoare triple {20519#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {20519#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-15 13:59:32,369 INFO L290 TraceCheckUtils]: 25: Hoare triple {20519#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {20544#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:59:32,370 INFO L290 TraceCheckUtils]: 26: Hoare triple {20544#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:59:32,370 INFO L290 TraceCheckUtils]: 27: Hoare triple {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:59:32,370 INFO L272 TraceCheckUtils]: 28: Hoare triple {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20463#true} is VALID [2022-04-15 13:59:32,370 INFO L290 TraceCheckUtils]: 29: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-15 13:59:32,370 INFO L290 TraceCheckUtils]: 30: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-15 13:59:32,370 INFO L290 TraceCheckUtils]: 31: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-15 13:59:32,371 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {20463#true} {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #65#return; {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:59:32,371 INFO L290 TraceCheckUtils]: 33: Hoare triple {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !!(~x~0 <= ~X~0); {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-15 13:59:32,372 INFO L290 TraceCheckUtils]: 34: Hoare triple {20548#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {20573#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= main_~y~0 0))} is VALID [2022-04-15 13:59:32,372 INFO L290 TraceCheckUtils]: 35: Hoare triple {20573#(and (= (+ (- 1) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20577#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= main_~y~0 0))} is VALID [2022-04-15 13:59:32,373 INFO L290 TraceCheckUtils]: 36: Hoare triple {20577#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20581#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 13:59:32,373 INFO L272 TraceCheckUtils]: 37: Hoare triple {20581#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20463#true} is VALID [2022-04-15 13:59:32,373 INFO L290 TraceCheckUtils]: 38: Hoare triple {20463#true} ~cond := #in~cond; {20588#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:59:32,373 INFO L290 TraceCheckUtils]: 39: Hoare triple {20588#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:59:32,373 INFO L290 TraceCheckUtils]: 40: Hoare triple {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:59:32,374 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} {20581#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {20577#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= main_~y~0 0))} is VALID [2022-04-15 13:59:32,374 INFO L290 TraceCheckUtils]: 42: Hoare triple {20577#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {20577#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= main_~y~0 0))} is VALID [2022-04-15 13:59:32,375 INFO L290 TraceCheckUtils]: 43: Hoare triple {20577#(and (= (+ (- 2) main_~x~0) 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* main_~Y~0 (- 4)))) (= main_~y~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {20605#(and (= (+ (- 2) main_~x~0) 0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= main_~y~0 1))} is VALID [2022-04-15 13:59:32,375 INFO L290 TraceCheckUtils]: 44: Hoare triple {20605#(and (= (+ (- 2) main_~x~0) 0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= main_~y~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20609#(and (= (+ main_~x~0 (- 3)) 0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= main_~y~0 1))} is VALID [2022-04-15 13:59:32,376 INFO L290 TraceCheckUtils]: 45: Hoare triple {20609#(and (= (+ main_~x~0 (- 3)) 0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= main_~y~0 1))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20613#(and (= (+ main_~x~0 (- 3)) 0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-15 13:59:32,376 INFO L272 TraceCheckUtils]: 46: Hoare triple {20613#(and (= (+ main_~x~0 (- 3)) 0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20463#true} is VALID [2022-04-15 13:59:32,376 INFO L290 TraceCheckUtils]: 47: Hoare triple {20463#true} ~cond := #in~cond; {20588#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:59:32,376 INFO L290 TraceCheckUtils]: 48: Hoare triple {20588#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:59:32,377 INFO L290 TraceCheckUtils]: 49: Hoare triple {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:59:32,378 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} {20613#(and (= (+ main_~x~0 (- 3)) 0) (<= (+ main_~v~0 (* main_~X~0 3)) (* main_~Y~0 8)) (= main_~y~0 1) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #65#return; {20629#(and (= main_~x~0 3) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} is VALID [2022-04-15 13:59:32,378 INFO L290 TraceCheckUtils]: 51: Hoare triple {20629#(and (= main_~x~0 3) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {20629#(and (= main_~x~0 3) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} is VALID [2022-04-15 13:59:32,379 INFO L290 TraceCheckUtils]: 52: Hoare triple {20629#(and (= main_~x~0 3) (= main_~y~0 1) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {20636#(and (= main_~x~0 3) (= main_~y~0 1) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} is VALID [2022-04-15 13:59:32,379 INFO L290 TraceCheckUtils]: 53: Hoare triple {20636#(and (= main_~x~0 3) (= main_~y~0 1) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20640#(and (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (= main_~y~0 1) (= (+ (- 1) main_~x~0) 3))} is VALID [2022-04-15 13:59:32,380 INFO L290 TraceCheckUtils]: 54: Hoare triple {20640#(and (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0 (* (- 2) main_~Y~0)) (+ (* main_~Y~0 2) (* 2 (* (+ (- 1) main_~x~0) main_~Y~0)))) (= main_~y~0 1) (= (+ (- 1) main_~x~0) 3))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20644#(and (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= main_~yx~0 (* main_~Y~0 4)) (= main_~X~0 main_~xy~0))} is VALID [2022-04-15 13:59:32,381 INFO L272 TraceCheckUtils]: 55: Hoare triple {20644#(and (= (* main_~Y~0 8) (+ main_~v~0 (* main_~X~0 3) (* (- 2) main_~Y~0))) (= main_~yx~0 (* main_~Y~0 4)) (= main_~X~0 main_~xy~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20648#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:59:32,381 INFO L290 TraceCheckUtils]: 56: Hoare triple {20648#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20652#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:59:32,382 INFO L290 TraceCheckUtils]: 57: Hoare triple {20652#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20464#false} is VALID [2022-04-15 13:59:32,382 INFO L290 TraceCheckUtils]: 58: Hoare triple {20464#false} assume !false; {20464#false} is VALID [2022-04-15 13:59:32,382 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 18 proven. 40 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 13:59:32,382 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 13:59:35,024 INFO L290 TraceCheckUtils]: 58: Hoare triple {20464#false} assume !false; {20464#false} is VALID [2022-04-15 13:59:35,024 INFO L290 TraceCheckUtils]: 57: Hoare triple {20652#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20464#false} is VALID [2022-04-15 13:59:35,024 INFO L290 TraceCheckUtils]: 56: Hoare triple {20648#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20652#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 13:59:35,025 INFO L272 TraceCheckUtils]: 55: Hoare triple {20668#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20648#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 13:59:35,026 INFO L290 TraceCheckUtils]: 54: Hoare triple {20672#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20668#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-15 13:59:35,056 INFO L290 TraceCheckUtils]: 53: Hoare triple {20676#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20672#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:59:35,057 INFO L290 TraceCheckUtils]: 52: Hoare triple {20672#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {20676#(= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 (* (+ main_~x~0 1) main_~Y~0))))} is VALID [2022-04-15 13:59:35,058 INFO L290 TraceCheckUtils]: 51: Hoare triple {20672#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {20672#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:59:35,059 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} {20686#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} #65#return; {20672#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} is VALID [2022-04-15 13:59:35,059 INFO L290 TraceCheckUtils]: 49: Hoare triple {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:59:35,059 INFO L290 TraceCheckUtils]: 48: Hoare triple {20696#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {20592#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 13:59:35,059 INFO L290 TraceCheckUtils]: 47: Hoare triple {20463#true} ~cond := #in~cond; {20696#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 13:59:35,059 INFO L272 TraceCheckUtils]: 46: Hoare triple {20686#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20463#true} is VALID [2022-04-15 13:59:35,060 INFO L290 TraceCheckUtils]: 45: Hoare triple {20463#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20686#(or (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))))} is VALID [2022-04-15 13:59:35,060 INFO L290 TraceCheckUtils]: 44: Hoare triple {20463#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20463#true} is VALID [2022-04-15 13:59:35,061 INFO L290 TraceCheckUtils]: 43: Hoare triple {20463#true} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post6 := ~y~0;~y~0 := 1 + #t~post6;havoc #t~post6; {20463#true} is VALID [2022-04-15 13:59:35,061 INFO L290 TraceCheckUtils]: 42: Hoare triple {20463#true} assume !!(~x~0 <= ~X~0); {20463#true} is VALID [2022-04-15 13:59:35,061 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {20463#true} {20463#true} #65#return; {20463#true} is VALID [2022-04-15 13:59:35,061 INFO L290 TraceCheckUtils]: 40: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-15 13:59:35,061 INFO L290 TraceCheckUtils]: 39: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-15 13:59:35,061 INFO L290 TraceCheckUtils]: 38: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-15 13:59:35,061 INFO L272 TraceCheckUtils]: 37: Hoare triple {20463#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20463#true} is VALID [2022-04-15 13:59:35,061 INFO L290 TraceCheckUtils]: 36: Hoare triple {20463#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20463#true} is VALID [2022-04-15 13:59:35,061 INFO L290 TraceCheckUtils]: 35: Hoare triple {20463#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20463#true} is VALID [2022-04-15 13:59:35,061 INFO L290 TraceCheckUtils]: 34: Hoare triple {20463#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {20463#true} is VALID [2022-04-15 13:59:35,061 INFO L290 TraceCheckUtils]: 33: Hoare triple {20463#true} assume !!(~x~0 <= ~X~0); {20463#true} is VALID [2022-04-15 13:59:35,061 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {20463#true} {20463#true} #65#return; {20463#true} is VALID [2022-04-15 13:59:35,061 INFO L290 TraceCheckUtils]: 31: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-15 13:59:35,061 INFO L290 TraceCheckUtils]: 30: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-15 13:59:35,061 INFO L290 TraceCheckUtils]: 29: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-15 13:59:35,061 INFO L272 TraceCheckUtils]: 28: Hoare triple {20463#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20463#true} is VALID [2022-04-15 13:59:35,061 INFO L290 TraceCheckUtils]: 27: Hoare triple {20463#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20463#true} is VALID [2022-04-15 13:59:35,061 INFO L290 TraceCheckUtils]: 26: Hoare triple {20463#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {20463#true} is VALID [2022-04-15 13:59:35,061 INFO L290 TraceCheckUtils]: 25: Hoare triple {20463#true} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {20463#true} is VALID [2022-04-15 13:59:35,061 INFO L290 TraceCheckUtils]: 24: Hoare triple {20463#true} assume !!(~x~0 <= ~X~0); {20463#true} is VALID [2022-04-15 13:59:35,062 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20463#true} {20463#true} #65#return; {20463#true} is VALID [2022-04-15 13:59:35,062 INFO L290 TraceCheckUtils]: 22: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-15 13:59:35,062 INFO L290 TraceCheckUtils]: 21: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-15 13:59:35,062 INFO L290 TraceCheckUtils]: 20: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-15 13:59:35,062 INFO L272 TraceCheckUtils]: 19: Hoare triple {20463#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {20463#true} is VALID [2022-04-15 13:59:35,062 INFO L290 TraceCheckUtils]: 18: Hoare triple {20463#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {20463#true} is VALID [2022-04-15 13:59:35,062 INFO L290 TraceCheckUtils]: 17: Hoare triple {20463#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {20463#true} is VALID [2022-04-15 13:59:35,062 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20463#true} {20463#true} #63#return; {20463#true} is VALID [2022-04-15 13:59:35,062 INFO L290 TraceCheckUtils]: 15: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-15 13:59:35,062 INFO L290 TraceCheckUtils]: 14: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-15 13:59:35,062 INFO L290 TraceCheckUtils]: 13: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-15 13:59:35,062 INFO L272 TraceCheckUtils]: 12: Hoare triple {20463#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 100 then 1 else 0)); {20463#true} is VALID [2022-04-15 13:59:35,062 INFO L290 TraceCheckUtils]: 11: Hoare triple {20463#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {20463#true} is VALID [2022-04-15 13:59:35,062 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20463#true} {20463#true} #61#return; {20463#true} is VALID [2022-04-15 13:59:35,062 INFO L290 TraceCheckUtils]: 9: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-15 13:59:35,062 INFO L290 TraceCheckUtils]: 8: Hoare triple {20463#true} assume !(0 == ~cond); {20463#true} is VALID [2022-04-15 13:59:35,062 INFO L290 TraceCheckUtils]: 7: Hoare triple {20463#true} ~cond := #in~cond; {20463#true} is VALID [2022-04-15 13:59:35,062 INFO L272 TraceCheckUtils]: 6: Hoare triple {20463#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 100 then 1 else 0)); {20463#true} is VALID [2022-04-15 13:59:35,062 INFO L290 TraceCheckUtils]: 5: Hoare triple {20463#true} havoc ~X~0;havoc ~Y~0;havoc ~x~0;havoc ~y~0;havoc ~v~0;havoc ~xy~0;havoc ~yx~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~X~0 := #t~nondet4;havoc #t~nondet4; {20463#true} is VALID [2022-04-15 13:59:35,062 INFO L272 TraceCheckUtils]: 4: Hoare triple {20463#true} call #t~ret8 := main(); {20463#true} is VALID [2022-04-15 13:59:35,063 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20463#true} {20463#true} #69#return; {20463#true} is VALID [2022-04-15 13:59:35,063 INFO L290 TraceCheckUtils]: 2: Hoare triple {20463#true} assume true; {20463#true} is VALID [2022-04-15 13:59:35,063 INFO L290 TraceCheckUtils]: 1: Hoare triple {20463#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(15, 2);call #Ultimate.allocInit(12, 3); {20463#true} is VALID [2022-04-15 13:59:35,063 INFO L272 TraceCheckUtils]: 0: Hoare triple {20463#true} call ULTIMATE.init(); {20463#true} is VALID [2022-04-15 13:59:35,063 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 35 proven. 2 refuted. 0 times theorem prover too weak. 37 trivial. 0 not checked. [2022-04-15 13:59:35,063 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 13:59:35,063 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1651431678] [2022-04-15 13:59:35,063 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 13:59:35,063 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1135110589] [2022-04-15 13:59:35,063 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1135110589] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 13:59:35,063 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 13:59:35,063 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 10] total 24 [2022-04-15 13:59:35,063 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 13:59:35,064 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [477315505] [2022-04-15 13:59:35,064 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [477315505] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 13:59:35,064 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 13:59:35,064 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-15 13:59:35,064 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [741794640] [2022-04-15 13:59:35,064 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 13:59:35,064 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 16 states have (on average 2.125) internal successors, (34), 18 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-15 13:59:35,064 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 13:59:35,064 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 16 states have (on average 2.125) internal successors, (34), 18 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:59:35,117 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:59:35,117 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-15 13:59:35,117 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 13:59:35,117 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-15 13:59:35,118 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=481, Unknown=0, NotChecked=0, Total=552 [2022-04-15 13:59:35,118 INFO L87 Difference]: Start difference. First operand 146 states and 158 transitions. Second operand has 19 states, 16 states have (on average 2.125) internal successors, (34), 18 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:59:37,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:59:37,174 INFO L93 Difference]: Finished difference Result 159 states and 172 transitions. [2022-04-15 13:59:37,174 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-15 13:59:37,175 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 16 states have (on average 2.125) internal successors, (34), 18 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) Word has length 59 [2022-04-15 13:59:37,175 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 13:59:37,175 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 16 states have (on average 2.125) internal successors, (34), 18 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:59:37,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-15 13:59:37,175 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 16 states have (on average 2.125) internal successors, (34), 18 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:59:37,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 65 transitions. [2022-04-15 13:59:37,176 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 65 transitions. [2022-04-15 13:59:37,257 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 13:59:37,258 INFO L225 Difference]: With dead ends: 159 [2022-04-15 13:59:37,258 INFO L226 Difference]: Without dead ends: 157 [2022-04-15 13:59:37,259 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 92 SyntacticMatches, 3 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 83 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=99, Invalid=657, Unknown=0, NotChecked=0, Total=756 [2022-04-15 13:59:37,259 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 16 mSDsluCounter, 247 mSDsCounter, 0 mSdLazyCounter, 698 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 271 SdHoareTripleChecker+Invalid, 702 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 698 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-15 13:59:37,259 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 271 Invalid, 702 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 698 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 13:59:37,260 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 157 states. [2022-04-15 13:59:37,637 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 157 to 148. [2022-04-15 13:59:37,638 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 13:59:37,638 INFO L82 GeneralOperation]: Start isEquivalent. First operand 157 states. Second operand has 148 states, 110 states have (on average 1.0818181818181818) internal successors, (119), 114 states have internal predecessors, (119), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-15 13:59:37,638 INFO L74 IsIncluded]: Start isIncluded. First operand 157 states. Second operand has 148 states, 110 states have (on average 1.0818181818181818) internal successors, (119), 114 states have internal predecessors, (119), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-15 13:59:37,638 INFO L87 Difference]: Start difference. First operand 157 states. Second operand has 148 states, 110 states have (on average 1.0818181818181818) internal successors, (119), 114 states have internal predecessors, (119), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-15 13:59:37,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:59:37,644 INFO L93 Difference]: Finished difference Result 157 states and 170 transitions. [2022-04-15 13:59:37,644 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 170 transitions. [2022-04-15 13:59:37,644 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:59:37,644 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:59:37,644 INFO L74 IsIncluded]: Start isIncluded. First operand has 148 states, 110 states have (on average 1.0818181818181818) internal successors, (119), 114 states have internal predecessors, (119), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) Second operand 157 states. [2022-04-15 13:59:37,645 INFO L87 Difference]: Start difference. First operand has 148 states, 110 states have (on average 1.0818181818181818) internal successors, (119), 114 states have internal predecessors, (119), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) Second operand 157 states. [2022-04-15 13:59:37,646 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 13:59:37,646 INFO L93 Difference]: Finished difference Result 157 states and 170 transitions. [2022-04-15 13:59:37,647 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 170 transitions. [2022-04-15 13:59:37,647 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 13:59:37,647 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 13:59:37,647 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 13:59:37,647 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 13:59:37,647 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 148 states, 110 states have (on average 1.0818181818181818) internal successors, (119), 114 states have internal predecessors, (119), 21 states have call successors, (21), 17 states have call predecessors, (21), 16 states have return successors, (20), 16 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-15 13:59:37,649 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 148 states to 148 states and 160 transitions. [2022-04-15 13:59:37,649 INFO L78 Accepts]: Start accepts. Automaton has 148 states and 160 transitions. Word has length 59 [2022-04-15 13:59:37,649 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 13:59:37,649 INFO L478 AbstractCegarLoop]: Abstraction has 148 states and 160 transitions. [2022-04-15 13:59:37,649 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 16 states have (on average 2.125) internal successors, (34), 18 states have internal predecessors, (34), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-15 13:59:37,649 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 148 states and 160 transitions. [2022-04-15 13:59:40,140 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 160 edges. 159 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 13:59:40,140 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 160 transitions. [2022-04-15 13:59:40,141 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-15 13:59:40,141 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 13:59:40,141 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 13:59:40,157 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Forceful destruction successful, exit code 0 [2022-04-15 13:59:40,341 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable24 [2022-04-15 13:59:40,342 INFO L403 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 13:59:40,342 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 13:59:40,342 INFO L85 PathProgramCache]: Analyzing trace with hash 1971200155, now seen corresponding path program 19 times [2022-04-15 13:59:40,342 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 13:59:40,342 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [150863387] [2022-04-15 13:59:40,342 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 13:59:40,342 INFO L85 PathProgramCache]: Analyzing trace with hash 1971200155, now seen corresponding path program 20 times [2022-04-15 13:59:40,342 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 13:59:40,342 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [242890472] [2022-04-15 13:59:40,343 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 13:59:40,343 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 13:59:40,356 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 13:59:40,356 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [154962781] [2022-04-15 13:59:40,356 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 13:59:40,356 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 13:59:40,356 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 13:59:40,357 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 13:59:40,358 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-15 13:59:40,398 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 13:59:40,398 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 13:59:40,399 INFO L263 TraceCheckSpWp]: Trace formula consists of 162 conjuncts, 55 conjunts are in the unsatisfiable core [2022-04-15 13:59:40,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 13:59:40,413 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 13:59:50,068 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 13:59:53,221 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful