/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/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 12:07:09,243 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 12:07:09,245 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 12:07:09,283 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 12:07:09,283 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 12:07:09,284 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 12:07:09,288 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 12:07:09,289 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 12:07:09,290 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 12:07:09,291 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 12:07:09,291 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 12:07:09,292 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 12:07:09,292 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 12:07:09,293 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 12:07:09,293 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 12:07:09,294 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 12:07:09,294 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 12:07:09,295 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 12:07:09,296 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 12:07:09,297 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 12:07:09,298 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 12:07:09,303 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 12:07:09,306 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 12:07:09,307 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 12:07:09,309 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 12:07:09,317 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 12:07:09,317 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 12:07:09,317 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 12:07:09,318 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 12:07:09,318 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 12:07:09,319 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 12:07:09,319 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 12:07:09,319 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 12:07:09,320 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 12:07:09,320 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 12:07:09,320 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 12:07:09,321 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 12:07:09,321 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 12:07:09,321 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 12:07:09,321 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 12:07:09,322 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 12:07:09,327 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 12:07:09,328 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-27 12:07:09,345 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 12:07:09,346 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 12:07:09,346 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 12:07:09,346 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 12:07:09,346 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 12:07:09,346 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 12:07:09,347 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 12:07:09,347 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 12:07:09,347 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 12:07:09,347 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 12:07:09,347 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 12:07:09,347 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 12:07:09,347 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 12:07:09,347 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 12:07:09,348 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 12:07:09,348 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 12:07:09,348 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 12:07:09,348 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 12:07:09,348 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 12:07:09,348 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 12:07:09,348 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 12:07:09,348 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 12:07:09,348 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 12:07:09,348 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 12:07:09,348 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 12:07:09,348 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 12:07:09,349 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 12:07:09,349 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 12:07:09,349 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 12:07:09,349 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 12:07:09,349 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 12:07:09,349 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 12:07:09,349 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 12:07:09,349 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode 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-27 12:07:09,494 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 12:07:09,506 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 12:07:09,507 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 12:07:09,508 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 12:07:09,508 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 12:07:09,509 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound2.c [2022-04-27 12:07:09,540 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7e84d190a/99961e4b66a845188bf15132312d7792/FLAGe0595f733 [2022-04-27 12:07:09,867 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 12:07:09,867 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound2.c [2022-04-27 12:07:09,872 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7e84d190a/99961e4b66a845188bf15132312d7792/FLAGe0595f733 [2022-04-27 12:07:09,879 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7e84d190a/99961e4b66a845188bf15132312d7792 [2022-04-27 12:07:09,881 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 12:07:09,882 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 12:07:09,883 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 12:07:09,883 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 12:07:09,893 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 12:07:09,894 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 12:07:09" (1/1) ... [2022-04-27 12:07:09,894 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@264bdf08 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:07:09, skipping insertion in model container [2022-04-27 12:07:09,894 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 12:07:09" (1/1) ... [2022-04-27 12:07:09,899 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 12:07:09,907 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 12:07:10,061 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_valuebound2.c[597,610] [2022-04-27 12:07:10,082 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 12:07:10,087 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 12:07:10,094 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_valuebound2.c[597,610] [2022-04-27 12:07:10,099 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 12:07:10,106 INFO L208 MainTranslator]: Completed translation [2022-04-27 12:07:10,106 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:07:10 WrapperNode [2022-04-27 12:07:10,107 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 12:07:10,107 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 12:07:10,107 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 12:07:10,107 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 12:07:10,113 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:07:10" (1/1) ... [2022-04-27 12:07:10,113 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:07:10" (1/1) ... [2022-04-27 12:07:10,117 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:07:10" (1/1) ... [2022-04-27 12:07:10,117 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:07:10" (1/1) ... [2022-04-27 12:07:10,120 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:07:10" (1/1) ... [2022-04-27 12:07:10,123 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:07:10" (1/1) ... [2022-04-27 12:07:10,123 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:07:10" (1/1) ... [2022-04-27 12:07:10,124 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 12:07:10,125 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 12:07:10,125 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 12:07:10,125 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 12:07:10,125 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:07:10" (1/1) ... [2022-04-27 12:07:10,130 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 12:07:10,135 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:07:10,144 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-27 12:07:10,176 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-27 12:07:10,186 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 12:07:10,186 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 12:07:10,186 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 12:07:10,187 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 12:07:10,188 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 12:07:10,188 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 12:07:10,188 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 12:07:10,188 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 12:07:10,188 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 12:07:10,188 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 12:07:10,188 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 12:07:10,188 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 12:07:10,189 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 12:07:10,189 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 12:07:10,189 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 12:07:10,189 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 12:07:10,189 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 12:07:10,189 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 12:07:10,189 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 12:07:10,189 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 12:07:10,234 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 12:07:10,235 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 12:07:10,366 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 12:07:10,370 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 12:07:10,370 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-27 12:07:10,371 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 12:07:10 BoogieIcfgContainer [2022-04-27 12:07:10,372 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 12:07:10,373 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 12:07:10,373 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 12:07:10,396 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 12:07:10,397 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 12:07:09" (1/3) ... [2022-04-27 12:07:10,397 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2bf22adf and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 12:07:10, skipping insertion in model container [2022-04-27 12:07:10,397 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:07:10" (2/3) ... [2022-04-27 12:07:10,398 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2bf22adf and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 12:07:10, skipping insertion in model container [2022-04-27 12:07:10,398 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 12:07:10" (3/3) ... [2022-04-27 12:07:10,398 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_valuebound2.c [2022-04-27 12:07:10,407 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 12:07:10,407 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 12:07:10,437 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 12:07:10,444 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, 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, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@2c130fd1, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@bafe0b6 [2022-04-27 12:07:10,444 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 12:07:10,449 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-27 12:07:10,453 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-27 12:07:10,453 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:07:10,454 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:07:10,454 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:07:10,457 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:07:10,457 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 1 times [2022-04-27 12:07:10,463 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:07:10,463 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1796337017] [2022-04-27 12:07:10,463 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:07:10,464 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:07:10,530 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:07:10,571 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 12:07:10,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:07:10,585 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-27 12:07:10,586 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-27 12:07:10,586 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-27 12:07:10,587 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 12:07:10,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:07:10,604 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-27 12:07:10,605 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-27 12:07:10,605 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-27 12:07:10,605 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-27 12:07:10,605 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 12:07:10,607 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:07:10,612 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-27 12:07:10,612 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-27 12:07:10,612 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-27 12:07:10,612 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-27 12:07:10,613 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-27 12:07:10,613 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-27 12:07:10,614 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-27 12:07:10,614 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-27 12:07:10,614 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret8 := main(); {35#true} is VALID [2022-04-27 12:07:10,614 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-27 12:07:10,614 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {35#true} is VALID [2022-04-27 12:07:10,614 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-27 12:07:10,625 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-27 12:07:10,625 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-27 12:07:10,625 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-27 12:07:10,625 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-27 12:07:10,625 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {35#true} is VALID [2022-04-27 12:07:10,626 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-27 12:07:10,626 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-27 12:07:10,626 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-27 12:07:10,626 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-27 12:07:10,627 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-27 12:07:10,627 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-27 12:07:10,627 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-27 12:07:10,627 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-27 12:07:10,627 INFO L290 TraceCheckUtils]: 21: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-27 12:07:10,627 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-27 12:07:10,628 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-27 12:07:10,628 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:07:10,628 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1796337017] [2022-04-27 12:07:10,629 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1796337017] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 12:07:10,629 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 12:07:10,629 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 12:07:10,630 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [997970512] [2022-04-27 12:07:10,630 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:07:10,634 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-27 12:07:10,635 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:07:10,637 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-27 12:07:10,660 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-27 12:07:10,660 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 12:07:10,660 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:07:10,673 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 12:07:10,673 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 12:07:10,675 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-27 12:07:10,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:07:10,768 INFO L93 Difference]: Finished difference Result 57 states and 74 transitions. [2022-04-27 12:07:10,768 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 12:07:10,769 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-27 12:07:10,769 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:07:10,770 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-27 12:07:10,782 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-27 12:07:10,783 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (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-27 12:07:10,787 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-27 12:07:10,788 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2022-04-27 12:07:10,871 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-27 12:07:10,881 INFO L225 Difference]: With dead ends: 57 [2022-04-27 12:07:10,881 INFO L226 Difference]: Without dead ends: 27 [2022-04-27 12:07:10,886 INFO L412 NwaCegarLoop]: 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-27 12:07:10,890 INFO L413 NwaCegarLoop]: 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-27 12:07:10,890 INFO L414 NwaCegarLoop]: 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-27 12:07:10,901 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-27 12:07:10,913 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-27 12:07:10,914 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:07:10,914 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-27 12:07:10,915 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-27 12:07:10,915 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-27 12:07:10,918 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:07:10,919 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-27 12:07:10,919 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-27 12:07:10,919 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:07:10,919 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:07:10,920 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-27 12:07:10,920 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-27 12:07:10,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:07:10,924 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-27 12:07:10,924 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-27 12:07:10,924 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:07:10,924 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:07:10,924 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:07:10,925 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:07:10,925 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-27 12:07:10,927 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-27 12:07:10,928 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 23 [2022-04-27 12:07:10,928 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:07:10,928 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-27 12:07:10,928 INFO L496 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-27 12:07:10,929 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-27 12:07:10,929 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-27 12:07:10,929 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:07:10,929 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:07:10,929 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 12:07:10,930 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:07:10,930 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:07:10,930 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 1 times [2022-04-27 12:07:10,930 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:07:10,931 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [138339294] [2022-04-27 12:07:10,931 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:07:10,931 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:07:10,948 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:07:10,948 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [720962080] [2022-04-27 12:07:10,948 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:07:10,949 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:07:10,949 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:07:10,956 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-27 12:07:10,957 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-27 12:07:11,029 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:07:11,033 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 12:07:11,046 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:07:11,050 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:07:11,203 INFO L272 TraceCheckUtils]: 0: Hoare triple {217#true} call ULTIMATE.init(); {217#true} is VALID [2022-04-27 12:07:11,203 INFO L290 TraceCheckUtils]: 1: Hoare triple {217#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); {217#true} is VALID [2022-04-27 12:07:11,203 INFO L290 TraceCheckUtils]: 2: Hoare triple {217#true} assume true; {217#true} is VALID [2022-04-27 12:07:11,204 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {217#true} {217#true} #69#return; {217#true} is VALID [2022-04-27 12:07:11,204 INFO L272 TraceCheckUtils]: 4: Hoare triple {217#true} call #t~ret8 := main(); {217#true} is VALID [2022-04-27 12:07:11,204 INFO L290 TraceCheckUtils]: 5: Hoare triple {217#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; {217#true} is VALID [2022-04-27 12:07:11,204 INFO L272 TraceCheckUtils]: 6: Hoare triple {217#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {217#true} is VALID [2022-04-27 12:07:11,204 INFO L290 TraceCheckUtils]: 7: Hoare triple {217#true} ~cond := #in~cond; {217#true} is VALID [2022-04-27 12:07:11,204 INFO L290 TraceCheckUtils]: 8: Hoare triple {217#true} assume !(0 == ~cond); {217#true} is VALID [2022-04-27 12:07:11,204 INFO L290 TraceCheckUtils]: 9: Hoare triple {217#true} assume true; {217#true} is VALID [2022-04-27 12:07:11,205 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {217#true} {217#true} #61#return; {217#true} is VALID [2022-04-27 12:07:11,205 INFO L290 TraceCheckUtils]: 11: Hoare triple {217#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {217#true} is VALID [2022-04-27 12:07:11,205 INFO L272 TraceCheckUtils]: 12: Hoare triple {217#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {217#true} is VALID [2022-04-27 12:07:11,205 INFO L290 TraceCheckUtils]: 13: Hoare triple {217#true} ~cond := #in~cond; {217#true} is VALID [2022-04-27 12:07:11,205 INFO L290 TraceCheckUtils]: 14: Hoare triple {217#true} assume !(0 == ~cond); {217#true} is VALID [2022-04-27 12:07:11,205 INFO L290 TraceCheckUtils]: 15: Hoare triple {217#true} assume true; {217#true} is VALID [2022-04-27 12:07:11,206 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {217#true} {217#true} #63#return; {217#true} is VALID [2022-04-27 12:07:11,206 INFO L290 TraceCheckUtils]: 17: Hoare triple {217#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {273#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-27 12:07:11,207 INFO L290 TraceCheckUtils]: 18: Hoare triple {273#(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; {277#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} is VALID [2022-04-27 12:07:11,208 INFO L272 TraceCheckUtils]: 19: Hoare triple {277#(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)); {281#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:07:11,208 INFO L290 TraceCheckUtils]: 20: Hoare triple {281#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {285#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:07:11,209 INFO L290 TraceCheckUtils]: 21: Hoare triple {285#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {218#false} is VALID [2022-04-27 12:07:11,209 INFO L290 TraceCheckUtils]: 22: Hoare triple {218#false} assume !false; {218#false} is VALID [2022-04-27 12:07:11,209 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-27 12:07:11,209 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 12:07:11,209 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:07:11,210 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [138339294] [2022-04-27 12:07:11,210 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:07:11,210 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [720962080] [2022-04-27 12:07:11,210 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [720962080] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 12:07:11,210 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 12:07:11,210 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 12:07:11,211 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [394894469] [2022-04-27 12:07:11,211 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:07:11,212 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-27 12:07:11,212 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:07:11,212 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-27 12:07:11,226 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-27 12:07:11,227 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 12:07:11,227 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:07:11,227 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 12:07:11,227 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 12:07:11,228 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-27 12:07:11,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:07:11,397 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-27 12:07:11,397 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 12:07:11,398 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-27 12:07:11,398 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:07:11,398 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-27 12:07:11,400 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-27 12:07:11,400 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-27 12:07:11,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-27 12:07:11,401 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-27 12:07:11,434 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-27 12:07:11,435 INFO L225 Difference]: With dead ends: 39 [2022-04-27 12:07:11,435 INFO L226 Difference]: Without dead ends: 35 [2022-04-27 12:07:11,436 INFO L412 NwaCegarLoop]: 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-27 12:07:11,436 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 10 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 61 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s 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.0s IncrementalHoareTripleChecker+Time [2022-04-27 12:07:11,437 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 91 Invalid, 66 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 61 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 12:07:11,437 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-27 12:07:11,442 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-27 12:07:11,442 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:07:11,443 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-27 12:07:11,443 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-27 12:07:11,443 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-27 12:07:11,445 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:07:11,445 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-27 12:07:11,445 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-27 12:07:11,446 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:07:11,446 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:07:11,446 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-27 12:07:11,447 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-27 12:07:11,448 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:07:11,448 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-27 12:07:11,448 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-27 12:07:11,449 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:07:11,449 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:07:11,449 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:07:11,449 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:07:11,449 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-27 12:07:11,451 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 37 transitions. [2022-04-27 12:07:11,451 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 37 transitions. Word has length 23 [2022-04-27 12:07:11,451 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:07:11,451 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 37 transitions. [2022-04-27 12:07:11,451 INFO L496 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-27 12:07:11,452 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 37 transitions. [2022-04-27 12:07:11,452 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-27 12:07:11,452 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:07:11,452 INFO L195 NwaCegarLoop]: 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-27 12:07:11,473 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-27 12:07:11,667 WARN L477 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-27 12:07:11,668 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:07:11,668 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:07:11,668 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 1 times [2022-04-27 12:07:11,668 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:07:11,669 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [952893861] [2022-04-27 12:07:11,669 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:07:11,669 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:07:11,683 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:07:11,683 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1423049780] [2022-04-27 12:07:11,683 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:07:11,683 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:07:11,683 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:07:11,700 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-27 12:07:11,701 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-27 12:07:11,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:07:11,739 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-27 12:07:11,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:07:11,751 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:07:19,929 INFO L272 TraceCheckUtils]: 0: Hoare triple {467#true} call ULTIMATE.init(); {467#true} is VALID [2022-04-27 12:07:19,929 INFO L290 TraceCheckUtils]: 1: Hoare triple {467#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); {467#true} is VALID [2022-04-27 12:07:19,929 INFO L290 TraceCheckUtils]: 2: Hoare triple {467#true} assume true; {467#true} is VALID [2022-04-27 12:07:19,929 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {467#true} {467#true} #69#return; {467#true} is VALID [2022-04-27 12:07:19,930 INFO L272 TraceCheckUtils]: 4: Hoare triple {467#true} call #t~ret8 := main(); {467#true} is VALID [2022-04-27 12:07:19,930 INFO L290 TraceCheckUtils]: 5: Hoare triple {467#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; {467#true} is VALID [2022-04-27 12:07:19,930 INFO L272 TraceCheckUtils]: 6: Hoare triple {467#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {467#true} is VALID [2022-04-27 12:07:19,930 INFO L290 TraceCheckUtils]: 7: Hoare triple {467#true} ~cond := #in~cond; {493#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 12:07:19,931 INFO L290 TraceCheckUtils]: 8: Hoare triple {493#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {497#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 12:07:19,931 INFO L290 TraceCheckUtils]: 9: Hoare triple {497#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {497#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 12:07:19,932 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {497#(not (= |assume_abort_if_not_#in~cond| 0))} {467#true} #61#return; {504#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-27 12:07:19,932 INFO L290 TraceCheckUtils]: 11: Hoare triple {504#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {504#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-27 12:07:19,932 INFO L272 TraceCheckUtils]: 12: Hoare triple {504#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {467#true} is VALID [2022-04-27 12:07:19,933 INFO L290 TraceCheckUtils]: 13: Hoare triple {467#true} ~cond := #in~cond; {493#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 12:07:19,933 INFO L290 TraceCheckUtils]: 14: Hoare triple {493#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {497#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 12:07:19,933 INFO L290 TraceCheckUtils]: 15: Hoare triple {497#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {497#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 12:07:19,934 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {497#(not (= |assume_abort_if_not_#in~cond| 0))} {504#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #63#return; {523#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-27 12:07:19,934 INFO L290 TraceCheckUtils]: 17: Hoare triple {523#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {527#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-27 12:07:19,935 INFO L290 TraceCheckUtils]: 18: Hoare triple {527#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {527#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-27 12:07:19,935 INFO L272 TraceCheckUtils]: 19: Hoare triple {527#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 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)); {467#true} is VALID [2022-04-27 12:07:19,935 INFO L290 TraceCheckUtils]: 20: Hoare triple {467#true} ~cond := #in~cond; {467#true} is VALID [2022-04-27 12:07:19,935 INFO L290 TraceCheckUtils]: 21: Hoare triple {467#true} assume !(0 == ~cond); {467#true} is VALID [2022-04-27 12:07:19,936 INFO L290 TraceCheckUtils]: 22: Hoare triple {467#true} assume true; {467#true} is VALID [2022-04-27 12:07:19,936 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {467#true} {527#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} #65#return; {527#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-27 12:07:19,937 INFO L290 TraceCheckUtils]: 24: Hoare triple {527#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {527#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} is VALID [2022-04-27 12:07:19,937 INFO L290 TraceCheckUtils]: 25: Hoare triple {527#(and (<= main_~X~0 2) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (= main_~y~0 0) (<= main_~Y~0 2))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {552#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~y~0 0))} is VALID [2022-04-27 12:07:19,938 INFO L290 TraceCheckUtils]: 26: Hoare triple {552#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~y~0 0))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {552#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~y~0 0))} is VALID [2022-04-27 12:07:19,939 INFO L290 TraceCheckUtils]: 27: Hoare triple {552#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 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; {559#(and (<= main_~X~0 2) (= main_~xy~0 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~yx~0 0))} is VALID [2022-04-27 12:07:19,940 INFO L272 TraceCheckUtils]: 28: Hoare triple {559#(and (<= main_~X~0 2) (= main_~xy~0 0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (= (+ main_~X~0 main_~v~0) (* main_~Y~0 4)) (= 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)); {563#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:07:19,941 INFO L290 TraceCheckUtils]: 29: Hoare triple {563#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {567#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:07:19,941 INFO L290 TraceCheckUtils]: 30: Hoare triple {567#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {468#false} is VALID [2022-04-27 12:07:19,941 INFO L290 TraceCheckUtils]: 31: Hoare triple {468#false} assume !false; {468#false} is VALID [2022-04-27 12:07:19,942 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-27 12:07:19,942 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:09:08,084 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:09:08,084 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [952893861] [2022-04-27 12:09:08,084 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:09:08,084 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1423049780] [2022-04-27 12:09:08,085 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1423049780] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 12:09:08,085 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 12:09:08,085 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-27 12:09:08,085 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [510393258] [2022-04-27 12:09:08,085 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 12:09:08,085 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 32 [2022-04-27 12:09:08,086 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:09:08,086 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 12:09:08,109 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-27 12:09:08,109 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-27 12:09:08,110 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:09:08,110 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-27 12:09:08,110 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=144, Unknown=0, NotChecked=0, Total=182 [2022-04-27 12:09:08,110 INFO L87 Difference]: Start difference. First operand 34 states and 37 transitions. Second operand has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 12:09:08,474 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:09:08,474 INFO L93 Difference]: Finished difference Result 61 states and 70 transitions. [2022-04-27 12:09:08,475 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-27 12:09:08,475 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 32 [2022-04-27 12:09:08,475 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:09:08,475 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 12:09:08,477 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 67 transitions. [2022-04-27 12:09:08,478 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 12:09:08,479 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 67 transitions. [2022-04-27 12:09:08,479 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 67 transitions. [2022-04-27 12:09:08,552 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:09:08,553 INFO L225 Difference]: With dead ends: 61 [2022-04-27 12:09:08,553 INFO L226 Difference]: Without dead ends: 35 [2022-04-27 12:09:08,554 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 27 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=56, Invalid=216, Unknown=0, NotChecked=0, Total=272 [2022-04-27 12:09:08,555 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 26 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 146 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 124 SdHoareTripleChecker+Invalid, 159 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 146 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 12:09:08,555 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 124 Invalid, 159 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 146 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 12:09:08,555 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-27 12:09:08,568 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-27 12:09:08,568 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:09:08,568 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 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-27 12:09:08,569 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 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-27 12:09:08,569 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 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-27 12:09:08,570 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:09:08,570 INFO L93 Difference]: Finished difference Result 35 states and 38 transitions. [2022-04-27 12:09:08,570 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-27 12:09:08,571 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:09:08,571 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:09:08,571 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 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-27 12:09:08,571 INFO L87 Difference]: Start difference. First operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 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-27 12:09:08,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:09:08,573 INFO L93 Difference]: Finished difference Result 35 states and 38 transitions. [2022-04-27 12:09:08,573 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-27 12:09:08,573 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:09:08,573 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:09:08,573 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:09:08,573 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:09:08,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 24 states have internal predecessors, (26), 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-27 12:09:08,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 38 transitions. [2022-04-27 12:09:08,574 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 38 transitions. Word has length 32 [2022-04-27 12:09:08,575 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:09:08,575 INFO L495 AbstractCegarLoop]: Abstraction has 35 states and 38 transitions. [2022-04-27 12:09:08,575 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 12:09:08,575 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-27 12:09:08,576 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-27 12:09:08,576 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:09:08,576 INFO L195 NwaCegarLoop]: 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-27 12:09:08,632 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-27 12:09:08,776 WARN L477 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-27 12:09:08,778 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:09:08,779 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:09:08,782 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 1 times [2022-04-27 12:09:08,782 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:09:08,782 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [923031048] [2022-04-27 12:09:08,782 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:09:08,782 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:09:08,794 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:09:08,794 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1654042206] [2022-04-27 12:09:08,795 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:09:08,795 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:09:08,795 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:09:08,809 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-27 12:09:08,811 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-27 12:09:08,843 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:09:08,845 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-27 12:09:08,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:09:08,853 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:09:09,042 INFO L272 TraceCheckUtils]: 0: Hoare triple {812#true} call ULTIMATE.init(); {812#true} is VALID [2022-04-27 12:09:09,042 INFO L290 TraceCheckUtils]: 1: Hoare triple {812#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); {812#true} is VALID [2022-04-27 12:09:09,042 INFO L290 TraceCheckUtils]: 2: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-27 12:09:09,042 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {812#true} {812#true} #69#return; {812#true} is VALID [2022-04-27 12:09:09,043 INFO L272 TraceCheckUtils]: 4: Hoare triple {812#true} call #t~ret8 := main(); {812#true} is VALID [2022-04-27 12:09:09,043 INFO L290 TraceCheckUtils]: 5: Hoare triple {812#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; {812#true} is VALID [2022-04-27 12:09:09,043 INFO L272 TraceCheckUtils]: 6: Hoare triple {812#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {812#true} is VALID [2022-04-27 12:09:09,043 INFO L290 TraceCheckUtils]: 7: Hoare triple {812#true} ~cond := #in~cond; {812#true} is VALID [2022-04-27 12:09:09,043 INFO L290 TraceCheckUtils]: 8: Hoare triple {812#true} assume !(0 == ~cond); {812#true} is VALID [2022-04-27 12:09:09,043 INFO L290 TraceCheckUtils]: 9: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-27 12:09:09,043 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {812#true} {812#true} #61#return; {812#true} is VALID [2022-04-27 12:09:09,043 INFO L290 TraceCheckUtils]: 11: Hoare triple {812#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {812#true} is VALID [2022-04-27 12:09:09,044 INFO L272 TraceCheckUtils]: 12: Hoare triple {812#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {812#true} is VALID [2022-04-27 12:09:09,044 INFO L290 TraceCheckUtils]: 13: Hoare triple {812#true} ~cond := #in~cond; {812#true} is VALID [2022-04-27 12:09:09,044 INFO L290 TraceCheckUtils]: 14: Hoare triple {812#true} assume !(0 == ~cond); {812#true} is VALID [2022-04-27 12:09:09,044 INFO L290 TraceCheckUtils]: 15: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-27 12:09:09,044 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {812#true} {812#true} #63#return; {812#true} is VALID [2022-04-27 12:09:09,045 INFO L290 TraceCheckUtils]: 17: Hoare triple {812#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {868#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-27 12:09:09,045 INFO L290 TraceCheckUtils]: 18: Hoare triple {868#(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; {868#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-27 12:09:09,045 INFO L272 TraceCheckUtils]: 19: Hoare triple {868#(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)); {812#true} is VALID [2022-04-27 12:09:09,045 INFO L290 TraceCheckUtils]: 20: Hoare triple {812#true} ~cond := #in~cond; {812#true} is VALID [2022-04-27 12:09:09,045 INFO L290 TraceCheckUtils]: 21: Hoare triple {812#true} assume !(0 == ~cond); {812#true} is VALID [2022-04-27 12:09:09,046 INFO L290 TraceCheckUtils]: 22: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-27 12:09:09,046 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {812#true} {868#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #65#return; {868#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-27 12:09:09,047 INFO L290 TraceCheckUtils]: 24: Hoare triple {868#(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); {890#(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-27 12:09:09,048 INFO L290 TraceCheckUtils]: 25: Hoare triple {890#(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; {894#(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-27 12:09:09,048 INFO L290 TraceCheckUtils]: 26: Hoare triple {894#(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; {898#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} is VALID [2022-04-27 12:09:09,049 INFO L290 TraceCheckUtils]: 27: Hoare triple {898#(and (= main_~y~0 1) (= main_~x~0 1) (= main_~v~0 (+ (* main_~X~0 (- 3)) (* main_~Y~0 4))) (<= 0 main_~X~0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {902#(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-27 12:09:09,050 INFO L272 TraceCheckUtils]: 28: Hoare triple {902#(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)); {906#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:09:09,050 INFO L290 TraceCheckUtils]: 29: Hoare triple {906#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {910#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:09:09,050 INFO L290 TraceCheckUtils]: 30: Hoare triple {910#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {813#false} is VALID [2022-04-27 12:09:09,050 INFO L290 TraceCheckUtils]: 31: Hoare triple {813#false} assume !false; {813#false} is VALID [2022-04-27 12:09:09,051 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-27 12:09:09,051 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:09:09,302 INFO L290 TraceCheckUtils]: 31: Hoare triple {813#false} assume !false; {813#false} is VALID [2022-04-27 12:09:09,303 INFO L290 TraceCheckUtils]: 30: Hoare triple {910#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {813#false} is VALID [2022-04-27 12:09:09,304 INFO L290 TraceCheckUtils]: 29: Hoare triple {906#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {910#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:09:09,305 INFO L272 TraceCheckUtils]: 28: Hoare triple {926#(= (+ (* 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)); {906#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:09:09,306 INFO L290 TraceCheckUtils]: 27: Hoare triple {930#(= (+ (* 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; {926#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-27 12:09:09,317 INFO L290 TraceCheckUtils]: 26: Hoare triple {934#(= (+ (* (* 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; {930#(= (+ (* 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-27 12:09:09,319 INFO L290 TraceCheckUtils]: 25: Hoare triple {930#(= (+ (* 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; {934#(= (+ (* (* 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-27 12:09:09,320 INFO L290 TraceCheckUtils]: 24: Hoare triple {941#(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); {930#(= (+ (* 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-27 12:09:09,320 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {812#true} {941#(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; {941#(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-27 12:09:09,321 INFO L290 TraceCheckUtils]: 22: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-27 12:09:09,321 INFO L290 TraceCheckUtils]: 21: Hoare triple {812#true} assume !(0 == ~cond); {812#true} is VALID [2022-04-27 12:09:09,321 INFO L290 TraceCheckUtils]: 20: Hoare triple {812#true} ~cond := #in~cond; {812#true} is VALID [2022-04-27 12:09:09,321 INFO L272 TraceCheckUtils]: 19: Hoare triple {941#(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)); {812#true} is VALID [2022-04-27 12:09:09,321 INFO L290 TraceCheckUtils]: 18: Hoare triple {941#(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; {941#(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-27 12:09:09,322 INFO L290 TraceCheckUtils]: 17: Hoare triple {812#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {941#(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-27 12:09:09,322 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {812#true} {812#true} #63#return; {812#true} is VALID [2022-04-27 12:09:09,322 INFO L290 TraceCheckUtils]: 15: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-27 12:09:09,322 INFO L290 TraceCheckUtils]: 14: Hoare triple {812#true} assume !(0 == ~cond); {812#true} is VALID [2022-04-27 12:09:09,322 INFO L290 TraceCheckUtils]: 13: Hoare triple {812#true} ~cond := #in~cond; {812#true} is VALID [2022-04-27 12:09:09,322 INFO L272 TraceCheckUtils]: 12: Hoare triple {812#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {812#true} is VALID [2022-04-27 12:09:09,322 INFO L290 TraceCheckUtils]: 11: Hoare triple {812#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {812#true} is VALID [2022-04-27 12:09:09,322 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {812#true} {812#true} #61#return; {812#true} is VALID [2022-04-27 12:09:09,323 INFO L290 TraceCheckUtils]: 9: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-27 12:09:09,323 INFO L290 TraceCheckUtils]: 8: Hoare triple {812#true} assume !(0 == ~cond); {812#true} is VALID [2022-04-27 12:09:09,323 INFO L290 TraceCheckUtils]: 7: Hoare triple {812#true} ~cond := #in~cond; {812#true} is VALID [2022-04-27 12:09:09,323 INFO L272 TraceCheckUtils]: 6: Hoare triple {812#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {812#true} is VALID [2022-04-27 12:09:09,323 INFO L290 TraceCheckUtils]: 5: Hoare triple {812#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; {812#true} is VALID [2022-04-27 12:09:09,323 INFO L272 TraceCheckUtils]: 4: Hoare triple {812#true} call #t~ret8 := main(); {812#true} is VALID [2022-04-27 12:09:09,323 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {812#true} {812#true} #69#return; {812#true} is VALID [2022-04-27 12:09:09,323 INFO L290 TraceCheckUtils]: 2: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-27 12:09:09,323 INFO L290 TraceCheckUtils]: 1: Hoare triple {812#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); {812#true} is VALID [2022-04-27 12:09:09,323 INFO L272 TraceCheckUtils]: 0: Hoare triple {812#true} call ULTIMATE.init(); {812#true} is VALID [2022-04-27 12:09:09,324 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-27 12:09:09,324 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:09:09,324 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [923031048] [2022-04-27 12:09:09,324 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:09:09,324 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1654042206] [2022-04-27 12:09:09,324 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1654042206] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:09:09,324 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:09:09,324 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 13 [2022-04-27 12:09:09,324 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [810130406] [2022-04-27 12:09:09,325 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:09:09,325 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.272727272727273) internal successors, (25), 12 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 32 [2022-04-27 12:09:09,325 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:09:09,325 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.272727272727273) internal successors, (25), 12 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 12:09:09,358 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-27 12:09:09,358 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-27 12:09:09,358 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:09:09,359 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-27 12:09:09,359 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-27 12:09:09,360 INFO L87 Difference]: Start difference. First operand 35 states and 38 transitions. Second operand has 13 states, 11 states have (on average 2.272727272727273) internal successors, (25), 12 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 12:09:09,889 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:09:09,890 INFO L93 Difference]: Finished difference Result 48 states and 53 transitions. [2022-04-27 12:09:09,890 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-27 12:09:09,890 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.272727272727273) internal successors, (25), 12 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 32 [2022-04-27 12:09:09,890 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:09:09,890 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.272727272727273) internal successors, (25), 12 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 12:09:09,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 50 transitions. [2022-04-27 12:09:09,892 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.272727272727273) internal successors, (25), 12 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 12:09:09,893 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 50 transitions. [2022-04-27 12:09:09,893 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 50 transitions. [2022-04-27 12:09:09,935 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-27 12:09:09,936 INFO L225 Difference]: With dead ends: 48 [2022-04-27 12:09:09,936 INFO L226 Difference]: Without dead ends: 44 [2022-04-27 12:09:09,937 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 68 GetRequests, 50 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=66, Invalid=240, Unknown=0, NotChecked=0, Total=306 [2022-04-27 12:09:09,937 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 22 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 143 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 109 SdHoareTripleChecker+Invalid, 158 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 143 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 12:09:09,937 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 109 Invalid, 158 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 143 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 12:09:09,938 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-27 12:09:09,951 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-27 12:09:09,951 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:09:09,951 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 25 states have (on average 1.08) internal successors, (27), 25 states have internal predecessors, (27), 7 states have call successors, (7), 6 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-27 12:09:09,952 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 25 states have (on average 1.08) internal successors, (27), 25 states have internal predecessors, (27), 7 states have call successors, (7), 6 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-27 12:09:09,952 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 25 states have (on average 1.08) internal successors, (27), 25 states have internal predecessors, (27), 7 states have call successors, (7), 6 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-27 12:09:09,953 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:09:09,953 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-27 12:09:09,953 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-27 12:09:09,954 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:09:09,954 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:09:09,954 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 25 states have (on average 1.08) internal successors, (27), 25 states have internal predecessors, (27), 7 states have call successors, (7), 6 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 44 states. [2022-04-27 12:09:09,954 INFO L87 Difference]: Start difference. First operand has 37 states, 25 states have (on average 1.08) internal successors, (27), 25 states have internal predecessors, (27), 7 states have call successors, (7), 6 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 44 states. [2022-04-27 12:09:09,956 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:09:09,956 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-27 12:09:09,956 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-27 12:09:09,956 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:09:09,956 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:09:09,956 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:09:09,956 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:09:09,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 25 states have (on average 1.08) internal successors, (27), 25 states have internal predecessors, (27), 7 states have call successors, (7), 6 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-27 12:09:09,957 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 39 transitions. [2022-04-27 12:09:09,957 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 39 transitions. Word has length 32 [2022-04-27 12:09:09,958 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:09:09,958 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 39 transitions. [2022-04-27 12:09:09,958 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.272727272727273) internal successors, (25), 12 states have internal predecessors, (25), 5 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 12:09:09,958 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 39 transitions. [2022-04-27 12:09:09,959 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-27 12:09:09,959 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:09:09,959 INFO L195 NwaCegarLoop]: 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-27 12:09:09,976 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-27 12:09:10,176 WARN L477 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-27 12:09:10,176 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:09:10,176 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:09:10,176 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 1 times [2022-04-27 12:09:10,176 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:09:10,177 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [904437895] [2022-04-27 12:09:10,177 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:09:10,177 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:09:10,198 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:09:10,198 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1309190809] [2022-04-27 12:09:10,198 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:09:10,198 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:09:10,198 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:09:10,199 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-27 12:09:10,200 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-27 12:09:10,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:09:10,235 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-27 12:09:10,244 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:09:10,245 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:09:10,640 INFO L272 TraceCheckUtils]: 0: Hoare triple {1232#true} call ULTIMATE.init(); {1232#true} is VALID [2022-04-27 12:09:10,641 INFO L290 TraceCheckUtils]: 1: Hoare triple {1232#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); {1232#true} is VALID [2022-04-27 12:09:10,641 INFO L290 TraceCheckUtils]: 2: Hoare triple {1232#true} assume true; {1232#true} is VALID [2022-04-27 12:09:10,641 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1232#true} {1232#true} #69#return; {1232#true} is VALID [2022-04-27 12:09:10,641 INFO L272 TraceCheckUtils]: 4: Hoare triple {1232#true} call #t~ret8 := main(); {1232#true} is VALID [2022-04-27 12:09:10,641 INFO L290 TraceCheckUtils]: 5: Hoare triple {1232#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; {1232#true} is VALID [2022-04-27 12:09:10,641 INFO L272 TraceCheckUtils]: 6: Hoare triple {1232#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {1232#true} is VALID [2022-04-27 12:09:10,641 INFO L290 TraceCheckUtils]: 7: Hoare triple {1232#true} ~cond := #in~cond; {1232#true} is VALID [2022-04-27 12:09:10,641 INFO L290 TraceCheckUtils]: 8: Hoare triple {1232#true} assume !(0 == ~cond); {1232#true} is VALID [2022-04-27 12:09:10,641 INFO L290 TraceCheckUtils]: 9: Hoare triple {1232#true} assume true; {1232#true} is VALID [2022-04-27 12:09:10,641 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1232#true} {1232#true} #61#return; {1232#true} is VALID [2022-04-27 12:09:10,642 INFO L290 TraceCheckUtils]: 11: Hoare triple {1232#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1232#true} is VALID [2022-04-27 12:09:10,642 INFO L272 TraceCheckUtils]: 12: Hoare triple {1232#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {1232#true} is VALID [2022-04-27 12:09:10,642 INFO L290 TraceCheckUtils]: 13: Hoare triple {1232#true} ~cond := #in~cond; {1232#true} is VALID [2022-04-27 12:09:10,642 INFO L290 TraceCheckUtils]: 14: Hoare triple {1232#true} assume !(0 == ~cond); {1232#true} is VALID [2022-04-27 12:09:10,642 INFO L290 TraceCheckUtils]: 15: Hoare triple {1232#true} assume true; {1232#true} is VALID [2022-04-27 12:09:10,642 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1232#true} {1232#true} #63#return; {1232#true} is VALID [2022-04-27 12:09:10,642 INFO L290 TraceCheckUtils]: 17: Hoare triple {1232#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1288#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-27 12:09:10,643 INFO L290 TraceCheckUtils]: 18: Hoare triple {1288#(and (= main_~x~0 0) (= main_~y~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1288#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-27 12:09:10,643 INFO L272 TraceCheckUtils]: 19: Hoare triple {1288#(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)); {1232#true} is VALID [2022-04-27 12:09:10,643 INFO L290 TraceCheckUtils]: 20: Hoare triple {1232#true} ~cond := #in~cond; {1232#true} is VALID [2022-04-27 12:09:10,643 INFO L290 TraceCheckUtils]: 21: Hoare triple {1232#true} assume !(0 == ~cond); {1232#true} is VALID [2022-04-27 12:09:10,643 INFO L290 TraceCheckUtils]: 22: Hoare triple {1232#true} assume true; {1232#true} is VALID [2022-04-27 12:09:10,644 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1232#true} {1288#(and (= main_~x~0 0) (= main_~y~0 0))} #65#return; {1288#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-27 12:09:10,644 INFO L290 TraceCheckUtils]: 24: Hoare triple {1288#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1310#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-27 12:09:10,645 INFO L290 TraceCheckUtils]: 25: Hoare triple {1310#(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; {1314#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1))} is VALID [2022-04-27 12:09:10,645 INFO L290 TraceCheckUtils]: 26: Hoare triple {1314#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1318#(and (= (+ (- 1) main_~x~0) 0) (= main_~y~0 1) (<= main_~x~0 (+ main_~X~0 1)))} is VALID [2022-04-27 12:09:10,646 INFO L290 TraceCheckUtils]: 27: Hoare triple {1318#(and (= (+ (- 1) main_~x~0) 0) (= 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; {1322#(and (= (+ (- 1) main_~x~0) 0) (= 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-27 12:09:10,646 INFO L272 TraceCheckUtils]: 28: Hoare triple {1322#(and (= (+ (- 1) main_~x~0) 0) (= 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)); {1232#true} is VALID [2022-04-27 12:09:10,646 INFO L290 TraceCheckUtils]: 29: Hoare triple {1232#true} ~cond := #in~cond; {1329#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:09:10,646 INFO L290 TraceCheckUtils]: 30: Hoare triple {1329#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1333#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:09:10,647 INFO L290 TraceCheckUtils]: 31: Hoare triple {1333#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1333#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:09:10,648 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1333#(not (= |__VERIFIER_assert_#in~cond| 0))} {1322#(and (= (+ (- 1) main_~x~0) 0) (= 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; {1340#(and (= (+ (- 1) main_~x~0) 0) (= 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-27 12:09:10,649 INFO L290 TraceCheckUtils]: 33: Hoare triple {1340#(and (= (+ (- 1) main_~x~0) 0) (= 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); {1344#(and (= (+ (- 1) main_~x~0) 0) (= 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-27 12:09:10,650 INFO L290 TraceCheckUtils]: 34: Hoare triple {1344#(and (= (+ (- 1) main_~x~0) 0) (= 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; {1348#(and (not (<= 1 main_~X~0)) (= main_~y~0 main_~xy~0) (= main_~y~0 1) (<= 0 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~Y~0 main_~yx~0))} is VALID [2022-04-27 12:09:10,651 INFO L272 TraceCheckUtils]: 35: Hoare triple {1348#(and (not (<= 1 main_~X~0)) (= main_~y~0 main_~xy~0) (= main_~y~0 1) (<= 0 main_~X~0) (= (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0) (* main_~Y~0 4)) (= main_~Y~0 main_~yx~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)); {1352#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:09:10,652 INFO L290 TraceCheckUtils]: 36: Hoare triple {1352#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1356#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:09:10,652 INFO L290 TraceCheckUtils]: 37: Hoare triple {1356#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1233#false} is VALID [2022-04-27 12:09:10,652 INFO L290 TraceCheckUtils]: 38: Hoare triple {1233#false} assume !false; {1233#false} is VALID [2022-04-27 12:09:10,652 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-27 12:09:10,652 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:09:11,216 INFO L290 TraceCheckUtils]: 38: Hoare triple {1233#false} assume !false; {1233#false} is VALID [2022-04-27 12:09:11,216 INFO L290 TraceCheckUtils]: 37: Hoare triple {1356#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1233#false} is VALID [2022-04-27 12:09:11,217 INFO L290 TraceCheckUtils]: 36: Hoare triple {1352#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1356#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:09:11,218 INFO L272 TraceCheckUtils]: 35: Hoare triple {1372#(= (+ (* 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)); {1352#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:09:11,218 INFO L290 TraceCheckUtils]: 34: Hoare triple {1376#(= (+ (* 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; {1372#(= (+ (* 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-27 12:09:11,219 INFO L290 TraceCheckUtils]: 33: Hoare triple {1380#(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); {1376#(= (+ (* 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-27 12:09:11,220 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1333#(not (= |__VERIFIER_assert_#in~cond| 0))} {1384#(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; {1380#(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-27 12:09:11,220 INFO L290 TraceCheckUtils]: 31: Hoare triple {1333#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1333#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:09:11,221 INFO L290 TraceCheckUtils]: 30: Hoare triple {1394#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1333#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:09:11,221 INFO L290 TraceCheckUtils]: 29: Hoare triple {1232#true} ~cond := #in~cond; {1394#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 12:09:11,221 INFO L272 TraceCheckUtils]: 28: Hoare triple {1384#(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)); {1232#true} is VALID [2022-04-27 12:09:11,222 INFO L290 TraceCheckUtils]: 27: Hoare triple {1401#(or (<= main_~x~0 main_~X~0) (forall ((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; {1384#(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-27 12:09:11,224 INFO L290 TraceCheckUtils]: 26: Hoare triple {1405#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* (* (+ 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; {1401#(or (<= main_~x~0 main_~X~0) (forall ((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-27 12:09:11,226 INFO L290 TraceCheckUtils]: 25: Hoare triple {1409#(or (forall ((main_~Y~0 Int)) (= (+ (* 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; {1405#(or (<= (+ main_~x~0 1) main_~X~0) (forall ((main_~Y~0 Int)) (= (+ (* (* (+ 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-27 12:09:11,227 INFO L290 TraceCheckUtils]: 24: Hoare triple {1232#true} assume !!(~x~0 <= ~X~0); {1409#(or (forall ((main_~Y~0 Int)) (= (+ (* 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-27 12:09:11,227 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1232#true} {1232#true} #65#return; {1232#true} is VALID [2022-04-27 12:09:11,227 INFO L290 TraceCheckUtils]: 22: Hoare triple {1232#true} assume true; {1232#true} is VALID [2022-04-27 12:09:11,227 INFO L290 TraceCheckUtils]: 21: Hoare triple {1232#true} assume !(0 == ~cond); {1232#true} is VALID [2022-04-27 12:09:11,227 INFO L290 TraceCheckUtils]: 20: Hoare triple {1232#true} ~cond := #in~cond; {1232#true} is VALID [2022-04-27 12:09:11,227 INFO L272 TraceCheckUtils]: 19: Hoare triple {1232#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1232#true} is VALID [2022-04-27 12:09:11,227 INFO L290 TraceCheckUtils]: 18: Hoare triple {1232#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1232#true} is VALID [2022-04-27 12:09:11,228 INFO L290 TraceCheckUtils]: 17: Hoare triple {1232#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1232#true} is VALID [2022-04-27 12:09:11,228 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1232#true} {1232#true} #63#return; {1232#true} is VALID [2022-04-27 12:09:11,228 INFO L290 TraceCheckUtils]: 15: Hoare triple {1232#true} assume true; {1232#true} is VALID [2022-04-27 12:09:11,228 INFO L290 TraceCheckUtils]: 14: Hoare triple {1232#true} assume !(0 == ~cond); {1232#true} is VALID [2022-04-27 12:09:11,228 INFO L290 TraceCheckUtils]: 13: Hoare triple {1232#true} ~cond := #in~cond; {1232#true} is VALID [2022-04-27 12:09:11,228 INFO L272 TraceCheckUtils]: 12: Hoare triple {1232#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {1232#true} is VALID [2022-04-27 12:09:11,228 INFO L290 TraceCheckUtils]: 11: Hoare triple {1232#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1232#true} is VALID [2022-04-27 12:09:11,228 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1232#true} {1232#true} #61#return; {1232#true} is VALID [2022-04-27 12:09:11,228 INFO L290 TraceCheckUtils]: 9: Hoare triple {1232#true} assume true; {1232#true} is VALID [2022-04-27 12:09:11,228 INFO L290 TraceCheckUtils]: 8: Hoare triple {1232#true} assume !(0 == ~cond); {1232#true} is VALID [2022-04-27 12:09:11,228 INFO L290 TraceCheckUtils]: 7: Hoare triple {1232#true} ~cond := #in~cond; {1232#true} is VALID [2022-04-27 12:09:11,228 INFO L272 TraceCheckUtils]: 6: Hoare triple {1232#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {1232#true} is VALID [2022-04-27 12:09:11,229 INFO L290 TraceCheckUtils]: 5: Hoare triple {1232#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; {1232#true} is VALID [2022-04-27 12:09:11,229 INFO L272 TraceCheckUtils]: 4: Hoare triple {1232#true} call #t~ret8 := main(); {1232#true} is VALID [2022-04-27 12:09:11,229 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1232#true} {1232#true} #69#return; {1232#true} is VALID [2022-04-27 12:09:11,229 INFO L290 TraceCheckUtils]: 2: Hoare triple {1232#true} assume true; {1232#true} is VALID [2022-04-27 12:09:11,229 INFO L290 TraceCheckUtils]: 1: Hoare triple {1232#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); {1232#true} is VALID [2022-04-27 12:09:11,229 INFO L272 TraceCheckUtils]: 0: Hoare triple {1232#true} call ULTIMATE.init(); {1232#true} is VALID [2022-04-27 12:09:11,229 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-27 12:09:11,229 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:09:11,229 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [904437895] [2022-04-27 12:09:11,230 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:09:11,230 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1309190809] [2022-04-27 12:09:11,230 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1309190809] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:09:11,230 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:09:11,230 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-27 12:09:11,230 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1938631623] [2022-04-27 12:09:11,230 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:09:11,231 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) Word has length 39 [2022-04-27 12:09:11,233 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:09:11,234 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-27 12:09:11,277 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-27 12:09:11,278 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-27 12:09:11,279 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:09:11,279 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-27 12:09:11,279 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=389, Unknown=0, NotChecked=0, Total=462 [2022-04-27 12:09:11,280 INFO L87 Difference]: Start difference. First operand 37 states and 39 transitions. Second operand has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-27 12:09:12,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:09:12,522 INFO L93 Difference]: Finished difference Result 56 states and 62 transitions. [2022-04-27 12:09:12,522 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-27 12:09:12,522 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) Word has length 39 [2022-04-27 12:09:12,523 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:09:12,523 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-27 12:09:12,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 60 transitions. [2022-04-27 12:09:12,524 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-27 12:09:12,526 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 60 transitions. [2022-04-27 12:09:12,526 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 60 transitions. [2022-04-27 12:09:12,588 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:09:12,589 INFO L225 Difference]: With dead ends: 56 [2022-04-27 12:09:12,589 INFO L226 Difference]: Without dead ends: 48 [2022-04-27 12:09:12,590 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 57 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 250 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=206, Invalid=1054, Unknown=0, NotChecked=0, Total=1260 [2022-04-27 12:09:12,590 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 27 mSDsluCounter, 170 mSDsCounter, 0 mSdLazyCounter, 215 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 190 SdHoareTripleChecker+Invalid, 301 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 215 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 63 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-27 12:09:12,590 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 190 Invalid, 301 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 215 Invalid, 0 Unknown, 63 Unchecked, 0.3s Time] [2022-04-27 12:09:12,591 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-27 12:09:12,612 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 41. [2022-04-27 12:09:12,612 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:09:12,612 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 41 states, 28 states have (on average 1.0714285714285714) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 12:09:12,612 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 41 states, 28 states have (on average 1.0714285714285714) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 12:09:12,612 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 41 states, 28 states have (on average 1.0714285714285714) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 12:09:12,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:09:12,614 INFO L93 Difference]: Finished difference Result 48 states and 53 transitions. [2022-04-27 12:09:12,614 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2022-04-27 12:09:12,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:09:12,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:09:12,614 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 28 states have (on average 1.0714285714285714) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 48 states. [2022-04-27 12:09:12,615 INFO L87 Difference]: Start difference. First operand has 41 states, 28 states have (on average 1.0714285714285714) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 48 states. [2022-04-27 12:09:12,616 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:09:12,616 INFO L93 Difference]: Finished difference Result 48 states and 53 transitions. [2022-04-27 12:09:12,616 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2022-04-27 12:09:12,616 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:09:12,616 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:09:12,616 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:09:12,616 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:09:12,617 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 28 states have (on average 1.0714285714285714) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 12:09:12,617 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 44 transitions. [2022-04-27 12:09:12,618 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 44 transitions. Word has length 39 [2022-04-27 12:09:12,618 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:09:12,618 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 44 transitions. [2022-04-27 12:09:12,618 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 18 states have (on average 1.8888888888888888) internal successors, (34), 19 states have internal predecessors, (34), 6 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-27 12:09:12,618 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 44 transitions. [2022-04-27 12:09:12,618 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-27 12:09:12,619 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:09:12,619 INFO L195 NwaCegarLoop]: 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-27 12:09:12,648 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-27 12:09:12,835 WARN L477 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-27 12:09:12,836 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:09:12,836 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:09:12,836 INFO L85 PathProgramCache]: Analyzing trace with hash -143142008, now seen corresponding path program 1 times [2022-04-27 12:09:12,836 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:09:12,836 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1695541488] [2022-04-27 12:09:12,836 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:09:12,836 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:09:12,849 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:09:12,850 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1830821669] [2022-04-27 12:09:12,850 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:09:12,850 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:09:12,850 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:09:12,851 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-27 12:09:12,852 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-27 12:09:12,888 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:09:12,889 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 12:09:12,901 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:09:12,902 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:09:13,805 INFO L272 TraceCheckUtils]: 0: Hoare triple {1748#true} call ULTIMATE.init(); {1748#true} is VALID [2022-04-27 12:09:13,806 INFO L290 TraceCheckUtils]: 1: Hoare triple {1748#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); {1748#true} is VALID [2022-04-27 12:09:13,806 INFO L290 TraceCheckUtils]: 2: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-27 12:09:13,806 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1748#true} {1748#true} #69#return; {1748#true} is VALID [2022-04-27 12:09:13,806 INFO L272 TraceCheckUtils]: 4: Hoare triple {1748#true} call #t~ret8 := main(); {1748#true} is VALID [2022-04-27 12:09:13,806 INFO L290 TraceCheckUtils]: 5: Hoare triple {1748#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; {1748#true} is VALID [2022-04-27 12:09:13,806 INFO L272 TraceCheckUtils]: 6: Hoare triple {1748#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {1748#true} is VALID [2022-04-27 12:09:13,806 INFO L290 TraceCheckUtils]: 7: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-27 12:09:13,806 INFO L290 TraceCheckUtils]: 8: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-27 12:09:13,806 INFO L290 TraceCheckUtils]: 9: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-27 12:09:13,806 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1748#true} {1748#true} #61#return; {1748#true} is VALID [2022-04-27 12:09:13,806 INFO L290 TraceCheckUtils]: 11: Hoare triple {1748#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1748#true} is VALID [2022-04-27 12:09:13,807 INFO L272 TraceCheckUtils]: 12: Hoare triple {1748#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {1748#true} is VALID [2022-04-27 12:09:13,807 INFO L290 TraceCheckUtils]: 13: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-27 12:09:13,807 INFO L290 TraceCheckUtils]: 14: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-27 12:09:13,807 INFO L290 TraceCheckUtils]: 15: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-27 12:09:13,807 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1748#true} {1748#true} #63#return; {1748#true} is VALID [2022-04-27 12:09:13,812 INFO L290 TraceCheckUtils]: 17: Hoare triple {1748#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1804#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-27 12:09:13,812 INFO L290 TraceCheckUtils]: 18: Hoare triple {1804#(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; {1804#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-27 12:09:13,812 INFO L272 TraceCheckUtils]: 19: Hoare triple {1804#(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)); {1748#true} is VALID [2022-04-27 12:09:13,812 INFO L290 TraceCheckUtils]: 20: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-27 12:09:13,812 INFO L290 TraceCheckUtils]: 21: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-27 12:09:13,812 INFO L290 TraceCheckUtils]: 22: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-27 12:09:13,814 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1748#true} {1804#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #65#return; {1804#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-27 12:09:13,814 INFO L290 TraceCheckUtils]: 24: Hoare triple {1804#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {1804#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-27 12:09:13,815 INFO L290 TraceCheckUtils]: 25: Hoare triple {1804#(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; {1829#(and (<= main_~x~0 0) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-27 12:09:13,816 INFO L290 TraceCheckUtils]: 26: Hoare triple {1829#(and (<= main_~x~0 0) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1833#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-27 12:09:13,816 INFO L290 TraceCheckUtils]: 27: Hoare triple {1833#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1833#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-27 12:09:13,816 INFO L272 TraceCheckUtils]: 28: Hoare triple {1833#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1748#true} is VALID [2022-04-27 12:09:13,816 INFO L290 TraceCheckUtils]: 29: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-27 12:09:13,816 INFO L290 TraceCheckUtils]: 30: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-27 12:09:13,816 INFO L290 TraceCheckUtils]: 31: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-27 12:09:13,817 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1748#true} {1833#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} #65#return; {1833#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-27 12:09:13,817 INFO L290 TraceCheckUtils]: 33: Hoare triple {1833#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} assume !!(~x~0 <= ~X~0); {1833#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} is VALID [2022-04-27 12:09:13,818 INFO L290 TraceCheckUtils]: 34: Hoare triple {1833#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1858#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 1))} is VALID [2022-04-27 12:09:13,819 INFO L290 TraceCheckUtils]: 35: Hoare triple {1858#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 1))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1862#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-27 12:09:13,819 INFO L290 TraceCheckUtils]: 36: Hoare triple {1862#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1862#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-27 12:09:13,819 INFO L272 TraceCheckUtils]: 37: Hoare triple {1862#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= 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)); {1748#true} is VALID [2022-04-27 12:09:13,819 INFO L290 TraceCheckUtils]: 38: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-27 12:09:13,820 INFO L290 TraceCheckUtils]: 39: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-27 12:09:13,820 INFO L290 TraceCheckUtils]: 40: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-27 12:09:13,820 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1748#true} {1862#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} #65#return; {1862#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-27 12:09:13,821 INFO L290 TraceCheckUtils]: 42: Hoare triple {1862#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} assume !(~x~0 <= ~X~0); {1749#false} is VALID [2022-04-27 12:09:13,821 INFO L290 TraceCheckUtils]: 43: Hoare triple {1749#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1749#false} is VALID [2022-04-27 12:09:13,821 INFO L272 TraceCheckUtils]: 44: Hoare triple {1749#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)); {1749#false} is VALID [2022-04-27 12:09:13,821 INFO L290 TraceCheckUtils]: 45: Hoare triple {1749#false} ~cond := #in~cond; {1749#false} is VALID [2022-04-27 12:09:13,821 INFO L290 TraceCheckUtils]: 46: Hoare triple {1749#false} assume 0 == ~cond; {1749#false} is VALID [2022-04-27 12:09:13,821 INFO L290 TraceCheckUtils]: 47: Hoare triple {1749#false} assume !false; {1749#false} is VALID [2022-04-27 12:09:13,821 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-27 12:09:13,822 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:09:14,130 INFO L290 TraceCheckUtils]: 47: Hoare triple {1749#false} assume !false; {1749#false} is VALID [2022-04-27 12:09:14,130 INFO L290 TraceCheckUtils]: 46: Hoare triple {1749#false} assume 0 == ~cond; {1749#false} is VALID [2022-04-27 12:09:14,130 INFO L290 TraceCheckUtils]: 45: Hoare triple {1749#false} ~cond := #in~cond; {1749#false} is VALID [2022-04-27 12:09:14,130 INFO L272 TraceCheckUtils]: 44: Hoare triple {1749#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)); {1749#false} is VALID [2022-04-27 12:09:14,131 INFO L290 TraceCheckUtils]: 43: Hoare triple {1749#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1749#false} is VALID [2022-04-27 12:09:14,131 INFO L290 TraceCheckUtils]: 42: Hoare triple {1914#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {1749#false} is VALID [2022-04-27 12:09:14,131 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1748#true} {1914#(<= main_~x~0 main_~X~0)} #65#return; {1914#(<= main_~x~0 main_~X~0)} is VALID [2022-04-27 12:09:14,131 INFO L290 TraceCheckUtils]: 40: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-27 12:09:14,132 INFO L290 TraceCheckUtils]: 39: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-27 12:09:14,132 INFO L290 TraceCheckUtils]: 38: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-27 12:09:14,132 INFO L272 TraceCheckUtils]: 37: Hoare triple {1914#(<= 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)); {1748#true} is VALID [2022-04-27 12:09:14,132 INFO L290 TraceCheckUtils]: 36: Hoare triple {1914#(<= main_~x~0 main_~X~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1914#(<= main_~x~0 main_~X~0)} is VALID [2022-04-27 12:09:14,133 INFO L290 TraceCheckUtils]: 35: Hoare triple {1936#(<= (+ main_~x~0 1) main_~X~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1914#(<= main_~x~0 main_~X~0)} is VALID [2022-04-27 12:09:14,133 INFO L290 TraceCheckUtils]: 34: Hoare triple {1940#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1936#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-27 12:09:14,133 INFO L290 TraceCheckUtils]: 33: Hoare triple {1940#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume !!(~x~0 <= ~X~0); {1940#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-27 12:09:14,134 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1748#true} {1940#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} #65#return; {1940#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-27 12:09:14,134 INFO L290 TraceCheckUtils]: 31: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-27 12:09:14,134 INFO L290 TraceCheckUtils]: 30: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-27 12:09:14,134 INFO L290 TraceCheckUtils]: 29: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-27 12:09:14,134 INFO L272 TraceCheckUtils]: 28: Hoare triple {1940#(or (not (< 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)); {1748#true} is VALID [2022-04-27 12:09:14,134 INFO L290 TraceCheckUtils]: 27: Hoare triple {1940#(or (not (< 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; {1940#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-27 12:09:14,135 INFO L290 TraceCheckUtils]: 26: Hoare triple {1965#(or (<= (+ main_~x~0 2) main_~X~0) (not (< main_~v~0 0)))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {1940#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-27 12:09:14,136 INFO L290 TraceCheckUtils]: 25: Hoare triple {1969#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< 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; {1965#(or (<= (+ main_~x~0 2) main_~X~0) (not (< main_~v~0 0)))} is VALID [2022-04-27 12:09:14,136 INFO L290 TraceCheckUtils]: 24: Hoare triple {1969#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} assume !!(~x~0 <= ~X~0); {1969#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-27 12:09:14,136 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1748#true} {1969#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} #65#return; {1969#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-27 12:09:14,137 INFO L290 TraceCheckUtils]: 22: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-27 12:09:14,137 INFO L290 TraceCheckUtils]: 21: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-27 12:09:14,137 INFO L290 TraceCheckUtils]: 20: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-27 12:09:14,137 INFO L272 TraceCheckUtils]: 19: Hoare triple {1969#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< 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)); {1748#true} is VALID [2022-04-27 12:09:14,138 INFO L290 TraceCheckUtils]: 18: Hoare triple {1969#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1969#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-27 12:09:14,139 INFO L290 TraceCheckUtils]: 17: Hoare triple {1748#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1969#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} is VALID [2022-04-27 12:09:14,139 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1748#true} {1748#true} #63#return; {1748#true} is VALID [2022-04-27 12:09:14,139 INFO L290 TraceCheckUtils]: 15: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-27 12:09:14,139 INFO L290 TraceCheckUtils]: 14: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-27 12:09:14,139 INFO L290 TraceCheckUtils]: 13: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-27 12:09:14,139 INFO L272 TraceCheckUtils]: 12: Hoare triple {1748#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {1748#true} is VALID [2022-04-27 12:09:14,139 INFO L290 TraceCheckUtils]: 11: Hoare triple {1748#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {1748#true} is VALID [2022-04-27 12:09:14,139 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1748#true} {1748#true} #61#return; {1748#true} is VALID [2022-04-27 12:09:14,139 INFO L290 TraceCheckUtils]: 9: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-27 12:09:14,139 INFO L290 TraceCheckUtils]: 8: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-27 12:09:14,140 INFO L290 TraceCheckUtils]: 7: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-27 12:09:14,140 INFO L272 TraceCheckUtils]: 6: Hoare triple {1748#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {1748#true} is VALID [2022-04-27 12:09:14,140 INFO L290 TraceCheckUtils]: 5: Hoare triple {1748#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; {1748#true} is VALID [2022-04-27 12:09:14,140 INFO L272 TraceCheckUtils]: 4: Hoare triple {1748#true} call #t~ret8 := main(); {1748#true} is VALID [2022-04-27 12:09:14,140 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1748#true} {1748#true} #69#return; {1748#true} is VALID [2022-04-27 12:09:14,140 INFO L290 TraceCheckUtils]: 2: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-27 12:09:14,140 INFO L290 TraceCheckUtils]: 1: Hoare triple {1748#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); {1748#true} is VALID [2022-04-27 12:09:14,140 INFO L272 TraceCheckUtils]: 0: Hoare triple {1748#true} call ULTIMATE.init(); {1748#true} is VALID [2022-04-27 12:09:14,140 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-27 12:09:14,140 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:09:14,140 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1695541488] [2022-04-27 12:09:14,141 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:09:14,141 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1830821669] [2022-04-27 12:09:14,141 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1830821669] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:09:14,141 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:09:14,141 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-27 12:09:14,141 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1196762913] [2022-04-27 12:09:14,141 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:09:14,141 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.0) internal successors, (36), 12 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 7 states have call predecessors, (9), 7 states have call successors, (9) Word has length 48 [2022-04-27 12:09:14,142 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:09:14,142 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 3.0) internal successors, (36), 12 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 7 states have call predecessors, (9), 7 states have call successors, (9) [2022-04-27 12:09:14,179 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:09:14,179 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-27 12:09:14,180 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:09:14,180 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-27 12:09:14,180 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-27 12:09:14,180 INFO L87 Difference]: Start difference. First operand 41 states and 44 transitions. Second operand has 12 states, 12 states have (on average 3.0) internal successors, (36), 12 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 7 states have call predecessors, (9), 7 states have call successors, (9) [2022-04-27 12:09:14,589 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:09:14,589 INFO L93 Difference]: Finished difference Result 59 states and 66 transitions. [2022-04-27 12:09:14,589 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 12:09:14,589 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.0) internal successors, (36), 12 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 7 states have call predecessors, (9), 7 states have call successors, (9) Word has length 48 [2022-04-27 12:09:14,589 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:09:14,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.0) internal successors, (36), 12 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 7 states have call predecessors, (9), 7 states have call successors, (9) [2022-04-27 12:09:14,591 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 56 transitions. [2022-04-27 12:09:14,591 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.0) internal successors, (36), 12 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 7 states have call predecessors, (9), 7 states have call successors, (9) [2022-04-27 12:09:14,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 56 transitions. [2022-04-27 12:09:14,592 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 56 transitions. [2022-04-27 12:09:14,630 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:09:14,631 INFO L225 Difference]: With dead ends: 59 [2022-04-27 12:09:14,631 INFO L226 Difference]: Without dead ends: 53 [2022-04-27 12:09:14,631 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=53, Invalid=157, Unknown=0, NotChecked=0, Total=210 [2022-04-27 12:09:14,632 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 8 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 131 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 142 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 131 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 12:09:14,632 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 121 Invalid, 142 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 131 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 12:09:14,633 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-27 12:09:14,661 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 46. [2022-04-27 12:09:14,661 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:09:14,661 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 46 states, 32 states have (on average 1.09375) internal successors, (35), 32 states have internal predecessors, (35), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 12:09:14,661 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 46 states, 32 states have (on average 1.09375) internal successors, (35), 32 states have internal predecessors, (35), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 12:09:14,662 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 46 states, 32 states have (on average 1.09375) internal successors, (35), 32 states have internal predecessors, (35), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 12:09:14,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:09:14,663 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2022-04-27 12:09:14,663 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 60 transitions. [2022-04-27 12:09:14,663 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:09:14,663 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:09:14,664 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 32 states have (on average 1.09375) internal successors, (35), 32 states have internal predecessors, (35), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 53 states. [2022-04-27 12:09:14,664 INFO L87 Difference]: Start difference. First operand has 46 states, 32 states have (on average 1.09375) internal successors, (35), 32 states have internal predecessors, (35), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 53 states. [2022-04-27 12:09:14,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:09:14,665 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2022-04-27 12:09:14,665 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 60 transitions. [2022-04-27 12:09:14,665 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:09:14,665 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:09:14,665 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:09:14,665 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:09:14,666 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 32 states have (on average 1.09375) internal successors, (35), 32 states have internal predecessors, (35), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 12:09:14,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 51 transitions. [2022-04-27 12:09:14,667 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 51 transitions. Word has length 48 [2022-04-27 12:09:14,667 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:09:14,667 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 51 transitions. [2022-04-27 12:09:14,667 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 3.0) internal successors, (36), 12 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 7 states have call predecessors, (9), 7 states have call successors, (9) [2022-04-27 12:09:14,667 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-04-27 12:09:14,667 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-27 12:09:14,668 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:09:14,668 INFO L195 NwaCegarLoop]: 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-27 12:09:14,701 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-27 12:09:14,885 WARN L477 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-27 12:09:14,885 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:09:14,885 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:09:14,885 INFO L85 PathProgramCache]: Analyzing trace with hash 2136090540, now seen corresponding path program 2 times [2022-04-27 12:09:14,885 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:09:14,885 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1793303555] [2022-04-27 12:09:14,886 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:09:14,886 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:09:14,901 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:09:14,901 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1902170625] [2022-04-27 12:09:14,901 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 12:09:14,901 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:09:14,901 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:09:14,902 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-27 12:09:14,903 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-27 12:09:14,941 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 12:09:14,942 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 12:09:14,942 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-27 12:09:14,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:09:14,959 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:09:15,377 INFO L272 TraceCheckUtils]: 0: Hoare triple {2306#true} call ULTIMATE.init(); {2306#true} is VALID [2022-04-27 12:09:15,377 INFO L290 TraceCheckUtils]: 1: Hoare triple {2306#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); {2306#true} is VALID [2022-04-27 12:09:15,378 INFO L290 TraceCheckUtils]: 2: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-27 12:09:15,378 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2306#true} {2306#true} #69#return; {2306#true} is VALID [2022-04-27 12:09:15,378 INFO L272 TraceCheckUtils]: 4: Hoare triple {2306#true} call #t~ret8 := main(); {2306#true} is VALID [2022-04-27 12:09:15,378 INFO L290 TraceCheckUtils]: 5: Hoare triple {2306#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; {2306#true} is VALID [2022-04-27 12:09:15,378 INFO L272 TraceCheckUtils]: 6: Hoare triple {2306#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {2306#true} is VALID [2022-04-27 12:09:15,378 INFO L290 TraceCheckUtils]: 7: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-27 12:09:15,378 INFO L290 TraceCheckUtils]: 8: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-27 12:09:15,378 INFO L290 TraceCheckUtils]: 9: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-27 12:09:15,378 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2306#true} {2306#true} #61#return; {2306#true} is VALID [2022-04-27 12:09:15,378 INFO L290 TraceCheckUtils]: 11: Hoare triple {2306#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2306#true} is VALID [2022-04-27 12:09:15,378 INFO L272 TraceCheckUtils]: 12: Hoare triple {2306#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {2306#true} is VALID [2022-04-27 12:09:15,378 INFO L290 TraceCheckUtils]: 13: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-27 12:09:15,378 INFO L290 TraceCheckUtils]: 14: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-27 12:09:15,378 INFO L290 TraceCheckUtils]: 15: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-27 12:09:15,379 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2306#true} {2306#true} #63#return; {2306#true} is VALID [2022-04-27 12:09:15,379 INFO L290 TraceCheckUtils]: 17: Hoare triple {2306#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2362#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-27 12:09:15,379 INFO L290 TraceCheckUtils]: 18: Hoare triple {2362#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2362#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-27 12:09:15,379 INFO L272 TraceCheckUtils]: 19: Hoare triple {2362#(<= (+ 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)); {2306#true} is VALID [2022-04-27 12:09:15,380 INFO L290 TraceCheckUtils]: 20: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-27 12:09:15,380 INFO L290 TraceCheckUtils]: 21: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-27 12:09:15,380 INFO L290 TraceCheckUtils]: 22: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-27 12:09:15,380 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2306#true} {2362#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} #65#return; {2362#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-27 12:09:15,381 INFO L290 TraceCheckUtils]: 24: Hoare triple {2362#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {2362#(<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2))} is VALID [2022-04-27 12:09:15,381 INFO L290 TraceCheckUtils]: 25: Hoare triple {2362#(<= (+ 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; {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-27 12:09:15,381 INFO L290 TraceCheckUtils]: 26: Hoare triple {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-27 12:09:15,382 INFO L290 TraceCheckUtils]: 27: Hoare triple {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-27 12:09:15,382 INFO L272 TraceCheckUtils]: 28: Hoare triple {2387#(<= (div 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)); {2306#true} is VALID [2022-04-27 12:09:15,382 INFO L290 TraceCheckUtils]: 29: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-27 12:09:15,382 INFO L290 TraceCheckUtils]: 30: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-27 12:09:15,382 INFO L290 TraceCheckUtils]: 31: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-27 12:09:15,383 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2306#true} {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} #65#return; {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-27 12:09:15,383 INFO L290 TraceCheckUtils]: 33: Hoare triple {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume !!(~x~0 <= ~X~0); {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-27 12:09:15,383 INFO L290 TraceCheckUtils]: 34: Hoare triple {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2415#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-27 12:09:15,384 INFO L290 TraceCheckUtils]: 35: Hoare triple {2415#(<= (div main_~v~0 (- 2)) 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2415#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-27 12:09:15,384 INFO L290 TraceCheckUtils]: 36: Hoare triple {2415#(<= (div main_~v~0 (- 2)) 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2415#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-27 12:09:15,384 INFO L272 TraceCheckUtils]: 37: Hoare triple {2415#(<= (div main_~v~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)); {2306#true} is VALID [2022-04-27 12:09:15,384 INFO L290 TraceCheckUtils]: 38: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-27 12:09:15,384 INFO L290 TraceCheckUtils]: 39: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-27 12:09:15,384 INFO L290 TraceCheckUtils]: 40: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-27 12:09:15,385 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2306#true} {2415#(<= (div main_~v~0 (- 2)) 0)} #65#return; {2415#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-27 12:09:15,385 INFO L290 TraceCheckUtils]: 42: Hoare triple {2415#(<= (div main_~v~0 (- 2)) 0)} assume !!(~x~0 <= ~X~0); {2415#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-27 12:09:15,386 INFO L290 TraceCheckUtils]: 43: Hoare triple {2415#(<= (div main_~v~0 (- 2)) 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2307#false} is VALID [2022-04-27 12:09:15,386 INFO L290 TraceCheckUtils]: 44: Hoare triple {2307#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2307#false} is VALID [2022-04-27 12:09:15,387 INFO L290 TraceCheckUtils]: 45: Hoare triple {2307#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2307#false} is VALID [2022-04-27 12:09:15,387 INFO L272 TraceCheckUtils]: 46: Hoare triple {2307#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2307#false} is VALID [2022-04-27 12:09:15,387 INFO L290 TraceCheckUtils]: 47: Hoare triple {2307#false} ~cond := #in~cond; {2307#false} is VALID [2022-04-27 12:09:15,387 INFO L290 TraceCheckUtils]: 48: Hoare triple {2307#false} assume !(0 == ~cond); {2307#false} is VALID [2022-04-27 12:09:15,387 INFO L290 TraceCheckUtils]: 49: Hoare triple {2307#false} assume true; {2307#false} is VALID [2022-04-27 12:09:15,387 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2307#false} {2307#false} #65#return; {2307#false} is VALID [2022-04-27 12:09:15,387 INFO L290 TraceCheckUtils]: 51: Hoare triple {2307#false} assume !(~x~0 <= ~X~0); {2307#false} is VALID [2022-04-27 12:09:15,387 INFO L290 TraceCheckUtils]: 52: Hoare triple {2307#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {2307#false} is VALID [2022-04-27 12:09:15,387 INFO L272 TraceCheckUtils]: 53: Hoare triple {2307#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)); {2307#false} is VALID [2022-04-27 12:09:15,387 INFO L290 TraceCheckUtils]: 54: Hoare triple {2307#false} ~cond := #in~cond; {2307#false} is VALID [2022-04-27 12:09:15,387 INFO L290 TraceCheckUtils]: 55: Hoare triple {2307#false} assume 0 == ~cond; {2307#false} is VALID [2022-04-27 12:09:15,387 INFO L290 TraceCheckUtils]: 56: Hoare triple {2307#false} assume !false; {2307#false} is VALID [2022-04-27 12:09:15,388 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 29 proven. 13 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-27 12:09:15,388 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:09:15,854 INFO L290 TraceCheckUtils]: 56: Hoare triple {2307#false} assume !false; {2307#false} is VALID [2022-04-27 12:09:15,854 INFO L290 TraceCheckUtils]: 55: Hoare triple {2307#false} assume 0 == ~cond; {2307#false} is VALID [2022-04-27 12:09:15,854 INFO L290 TraceCheckUtils]: 54: Hoare triple {2307#false} ~cond := #in~cond; {2307#false} is VALID [2022-04-27 12:09:15,854 INFO L272 TraceCheckUtils]: 53: Hoare triple {2307#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)); {2307#false} is VALID [2022-04-27 12:09:15,854 INFO L290 TraceCheckUtils]: 52: Hoare triple {2307#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {2307#false} is VALID [2022-04-27 12:09:15,854 INFO L290 TraceCheckUtils]: 51: Hoare triple {2307#false} assume !(~x~0 <= ~X~0); {2307#false} is VALID [2022-04-27 12:09:15,854 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2306#true} {2307#false} #65#return; {2307#false} is VALID [2022-04-27 12:09:15,854 INFO L290 TraceCheckUtils]: 49: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-27 12:09:15,854 INFO L290 TraceCheckUtils]: 48: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-27 12:09:15,854 INFO L290 TraceCheckUtils]: 47: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-27 12:09:15,855 INFO L272 TraceCheckUtils]: 46: Hoare triple {2307#false} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2306#true} is VALID [2022-04-27 12:09:15,855 INFO L290 TraceCheckUtils]: 45: Hoare triple {2307#false} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2307#false} is VALID [2022-04-27 12:09:15,855 INFO L290 TraceCheckUtils]: 44: Hoare triple {2307#false} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2307#false} is VALID [2022-04-27 12:09:15,855 INFO L290 TraceCheckUtils]: 43: Hoare triple {2415#(<= (div main_~v~0 (- 2)) 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2307#false} is VALID [2022-04-27 12:09:15,855 INFO L290 TraceCheckUtils]: 42: Hoare triple {2415#(<= (div main_~v~0 (- 2)) 0)} assume !!(~x~0 <= ~X~0); {2415#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-27 12:09:15,856 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2306#true} {2415#(<= (div main_~v~0 (- 2)) 0)} #65#return; {2415#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-27 12:09:15,856 INFO L290 TraceCheckUtils]: 40: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-27 12:09:15,856 INFO L290 TraceCheckUtils]: 39: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-27 12:09:15,856 INFO L290 TraceCheckUtils]: 38: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-27 12:09:15,856 INFO L272 TraceCheckUtils]: 37: Hoare triple {2415#(<= (div main_~v~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)); {2306#true} is VALID [2022-04-27 12:09:15,857 INFO L290 TraceCheckUtils]: 36: Hoare triple {2415#(<= (div main_~v~0 (- 2)) 0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2415#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-27 12:09:15,857 INFO L290 TraceCheckUtils]: 35: Hoare triple {2415#(<= (div main_~v~0 (- 2)) 0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2415#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-27 12:09:15,857 INFO L290 TraceCheckUtils]: 34: Hoare triple {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2415#(<= (div main_~v~0 (- 2)) 0)} is VALID [2022-04-27 12:09:15,858 INFO L290 TraceCheckUtils]: 33: Hoare triple {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume !!(~x~0 <= ~X~0); {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-27 12:09:15,858 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2306#true} {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} #65#return; {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-27 12:09:15,858 INFO L290 TraceCheckUtils]: 31: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-27 12:09:15,858 INFO L290 TraceCheckUtils]: 30: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-27 12:09:15,858 INFO L290 TraceCheckUtils]: 29: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-27 12:09:15,859 INFO L272 TraceCheckUtils]: 28: Hoare triple {2387#(<= (div 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)); {2306#true} is VALID [2022-04-27 12:09:15,859 INFO L290 TraceCheckUtils]: 27: Hoare triple {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-27 12:09:15,859 INFO L290 TraceCheckUtils]: 26: Hoare triple {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-27 12:09:15,860 INFO L290 TraceCheckUtils]: 25: Hoare triple {2575#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~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; {2387#(<= (div main_~v~0 (- 2)) main_~Y~0)} is VALID [2022-04-27 12:09:15,860 INFO L290 TraceCheckUtils]: 24: Hoare triple {2575#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} assume !!(~x~0 <= ~X~0); {2575#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} is VALID [2022-04-27 12:09:15,861 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2306#true} {2575#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} #65#return; {2575#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} is VALID [2022-04-27 12:09:15,861 INFO L290 TraceCheckUtils]: 22: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-27 12:09:15,861 INFO L290 TraceCheckUtils]: 21: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-27 12:09:15,861 INFO L290 TraceCheckUtils]: 20: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-27 12:09:15,861 INFO L272 TraceCheckUtils]: 19: Hoare triple {2575#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~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)); {2306#true} is VALID [2022-04-27 12:09:15,861 INFO L290 TraceCheckUtils]: 18: Hoare triple {2575#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2575#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} is VALID [2022-04-27 12:09:15,862 INFO L290 TraceCheckUtils]: 17: Hoare triple {2306#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2575#(or (< main_~v~0 0) (<= (+ (div (+ (- 2) main_~v~0) (- 2)) main_~X~0) (+ (* main_~Y~0 2) 1)))} is VALID [2022-04-27 12:09:15,862 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2306#true} {2306#true} #63#return; {2306#true} is VALID [2022-04-27 12:09:15,862 INFO L290 TraceCheckUtils]: 15: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-27 12:09:15,862 INFO L290 TraceCheckUtils]: 14: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-27 12:09:15,862 INFO L290 TraceCheckUtils]: 13: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-27 12:09:15,862 INFO L272 TraceCheckUtils]: 12: Hoare triple {2306#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {2306#true} is VALID [2022-04-27 12:09:15,862 INFO L290 TraceCheckUtils]: 11: Hoare triple {2306#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2306#true} is VALID [2022-04-27 12:09:15,862 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2306#true} {2306#true} #61#return; {2306#true} is VALID [2022-04-27 12:09:15,863 INFO L290 TraceCheckUtils]: 9: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-27 12:09:15,863 INFO L290 TraceCheckUtils]: 8: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-27 12:09:15,863 INFO L290 TraceCheckUtils]: 7: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-27 12:09:15,863 INFO L272 TraceCheckUtils]: 6: Hoare triple {2306#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {2306#true} is VALID [2022-04-27 12:09:15,863 INFO L290 TraceCheckUtils]: 5: Hoare triple {2306#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; {2306#true} is VALID [2022-04-27 12:09:15,863 INFO L272 TraceCheckUtils]: 4: Hoare triple {2306#true} call #t~ret8 := main(); {2306#true} is VALID [2022-04-27 12:09:15,863 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2306#true} {2306#true} #69#return; {2306#true} is VALID [2022-04-27 12:09:15,863 INFO L290 TraceCheckUtils]: 2: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-27 12:09:15,863 INFO L290 TraceCheckUtils]: 1: Hoare triple {2306#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); {2306#true} is VALID [2022-04-27 12:09:15,863 INFO L272 TraceCheckUtils]: 0: Hoare triple {2306#true} call ULTIMATE.init(); {2306#true} is VALID [2022-04-27 12:09:15,863 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 19 proven. 13 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-27 12:09:15,863 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:09:15,864 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1793303555] [2022-04-27 12:09:15,864 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:09:15,864 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1902170625] [2022-04-27 12:09:15,864 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1902170625] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:09:15,864 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:09:15,864 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2022-04-27 12:09:15,864 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1562030226] [2022-04-27 12:09:15,864 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:09:15,865 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 5.833333333333333) internal successors, (35), 6 states have internal predecessors, (35), 6 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) Word has length 57 [2022-04-27 12:09:15,865 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:09:15,865 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 5.833333333333333) internal successors, (35), 6 states have internal predecessors, (35), 6 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) [2022-04-27 12:09:15,899 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:09:15,899 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 12:09:15,899 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:09:15,900 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 12:09:15,900 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-04-27 12:09:15,900 INFO L87 Difference]: Start difference. First operand 46 states and 51 transitions. Second operand has 6 states, 6 states have (on average 5.833333333333333) internal successors, (35), 6 states have internal predecessors, (35), 6 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) [2022-04-27 12:09:16,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:09:16,155 INFO L93 Difference]: Finished difference Result 81 states and 94 transitions. [2022-04-27 12:09:16,155 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 12:09:16,156 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 5.833333333333333) internal successors, (35), 6 states have internal predecessors, (35), 6 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) Word has length 57 [2022-04-27 12:09:16,156 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:09:16,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 5.833333333333333) internal successors, (35), 6 states have internal predecessors, (35), 6 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) [2022-04-27 12:09:16,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-04-27 12:09:16,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 5.833333333333333) internal successors, (35), 6 states have internal predecessors, (35), 6 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) [2022-04-27 12:09:16,159 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-04-27 12:09:16,159 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 74 transitions. [2022-04-27 12:09:16,206 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-27 12:09:16,208 INFO L225 Difference]: With dead ends: 81 [2022-04-27 12:09:16,208 INFO L226 Difference]: Without dead ends: 62 [2022-04-27 12:09:16,208 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 115 GetRequests, 107 SyntacticMatches, 2 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=18, Invalid=38, Unknown=0, NotChecked=0, Total=56 [2022-04-27 12:09:16,208 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 5 mSDsluCounter, 76 mSDsCounter, 0 mSdLazyCounter, 81 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 109 SdHoareTripleChecker+Invalid, 84 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 81 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 12:09:16,208 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [5 Valid, 109 Invalid, 84 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 81 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 12:09:16,209 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2022-04-27 12:09:16,291 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 60. [2022-04-27 12:09:16,291 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:09:16,292 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand has 60 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 43 states have internal predecessors, (48), 12 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 12:09:16,292 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand has 60 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 43 states have internal predecessors, (48), 12 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 12:09:16,292 INFO L87 Difference]: Start difference. First operand 62 states. Second operand has 60 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 43 states have internal predecessors, (48), 12 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 12:09:16,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:09:16,294 INFO L93 Difference]: Finished difference Result 62 states and 72 transitions. [2022-04-27 12:09:16,294 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 72 transitions. [2022-04-27 12:09:16,294 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:09:16,294 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:09:16,294 INFO L74 IsIncluded]: Start isIncluded. First operand has 60 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 43 states have internal predecessors, (48), 12 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 62 states. [2022-04-27 12:09:16,295 INFO L87 Difference]: Start difference. First operand has 60 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 43 states have internal predecessors, (48), 12 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 62 states. [2022-04-27 12:09:16,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:09:16,296 INFO L93 Difference]: Finished difference Result 62 states and 72 transitions. [2022-04-27 12:09:16,296 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 72 transitions. [2022-04-27 12:09:16,296 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:09:16,296 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:09:16,297 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:09:16,297 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:09:16,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 43 states have (on average 1.1162790697674418) internal successors, (48), 43 states have internal predecessors, (48), 12 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 12:09:16,298 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 70 transitions. [2022-04-27 12:09:16,298 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 70 transitions. Word has length 57 [2022-04-27 12:09:16,298 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:09:16,298 INFO L495 AbstractCegarLoop]: Abstraction has 60 states and 70 transitions. [2022-04-27 12:09:16,299 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 5.833333333333333) internal successors, (35), 6 states have internal predecessors, (35), 6 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 6 states have call predecessors, (9), 6 states have call successors, (9) [2022-04-27 12:09:16,299 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 70 transitions. [2022-04-27 12:09:16,299 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-27 12:09:16,299 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:09:16,299 INFO L195 NwaCegarLoop]: 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-27 12:09:16,320 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-27 12:09:16,522 WARN L477 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-27 12:09:16,523 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:09:16,523 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:09:16,523 INFO L85 PathProgramCache]: Analyzing trace with hash 330652206, now seen corresponding path program 3 times [2022-04-27 12:09:16,523 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:09:16,523 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [265455127] [2022-04-27 12:09:16,523 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:09:16,524 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:09:16,546 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:09:16,547 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1318991559] [2022-04-27 12:09:16,547 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 12:09:16,547 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:09:16,547 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:09:16,550 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-27 12:09:16,551 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-27 12:09:16,614 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2022-04-27 12:09:16,614 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 12:09:16,615 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-27 12:09:16,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:09:16,635 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:09:35,511 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 12:09:45,462 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 12:09:50,852 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 12:10:24,589 INFO L272 TraceCheckUtils]: 0: Hoare triple {2980#true} call ULTIMATE.init(); {2980#true} is VALID [2022-04-27 12:10:24,589 INFO L290 TraceCheckUtils]: 1: Hoare triple {2980#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); {2980#true} is VALID [2022-04-27 12:10:24,589 INFO L290 TraceCheckUtils]: 2: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-27 12:10:24,590 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2980#true} {2980#true} #69#return; {2980#true} is VALID [2022-04-27 12:10:24,590 INFO L272 TraceCheckUtils]: 4: Hoare triple {2980#true} call #t~ret8 := main(); {2980#true} is VALID [2022-04-27 12:10:24,590 INFO L290 TraceCheckUtils]: 5: Hoare triple {2980#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; {2980#true} is VALID [2022-04-27 12:10:24,590 INFO L272 TraceCheckUtils]: 6: Hoare triple {2980#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {2980#true} is VALID [2022-04-27 12:10:24,590 INFO L290 TraceCheckUtils]: 7: Hoare triple {2980#true} ~cond := #in~cond; {3006#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 12:10:24,590 INFO L290 TraceCheckUtils]: 8: Hoare triple {3006#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3010#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 12:10:24,591 INFO L290 TraceCheckUtils]: 9: Hoare triple {3010#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3010#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 12:10:24,591 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3010#(not (= |assume_abort_if_not_#in~cond| 0))} {2980#true} #61#return; {3017#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-27 12:10:24,592 INFO L290 TraceCheckUtils]: 11: Hoare triple {3017#(and (<= main_~X~0 2) (<= 0 main_~X~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {3017#(and (<= main_~X~0 2) (<= 0 main_~X~0))} is VALID [2022-04-27 12:10:24,592 INFO L272 TraceCheckUtils]: 12: Hoare triple {3017#(and (<= main_~X~0 2) (<= 0 main_~X~0))} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {2980#true} is VALID [2022-04-27 12:10:24,592 INFO L290 TraceCheckUtils]: 13: Hoare triple {2980#true} ~cond := #in~cond; {3006#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 12:10:24,592 INFO L290 TraceCheckUtils]: 14: Hoare triple {3006#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3010#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 12:10:24,592 INFO L290 TraceCheckUtils]: 15: Hoare triple {3010#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3010#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 12:10:24,593 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3010#(not (= |assume_abort_if_not_#in~cond| 0))} {3017#(and (<= main_~X~0 2) (<= 0 main_~X~0))} #63#return; {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-27 12:10:24,593 INFO L290 TraceCheckUtils]: 17: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-27 12:10:24,594 INFO L290 TraceCheckUtils]: 18: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-27 12:10:24,594 INFO L272 TraceCheckUtils]: 19: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~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)); {2980#true} is VALID [2022-04-27 12:10:24,594 INFO L290 TraceCheckUtils]: 20: Hoare triple {2980#true} ~cond := #in~cond; {2980#true} is VALID [2022-04-27 12:10:24,594 INFO L290 TraceCheckUtils]: 21: Hoare triple {2980#true} assume !(0 == ~cond); {2980#true} is VALID [2022-04-27 12:10:24,594 INFO L290 TraceCheckUtils]: 22: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-27 12:10:24,595 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2980#true} {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} #65#return; {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-27 12:10:24,595 INFO L290 TraceCheckUtils]: 24: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-27 12:10:24,595 INFO L290 TraceCheckUtils]: 25: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~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; {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-27 12:10:24,596 INFO L290 TraceCheckUtils]: 26: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-27 12:10:24,596 INFO L290 TraceCheckUtils]: 27: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-27 12:10:24,596 INFO L272 TraceCheckUtils]: 28: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~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)); {2980#true} is VALID [2022-04-27 12:10:24,596 INFO L290 TraceCheckUtils]: 29: Hoare triple {2980#true} ~cond := #in~cond; {2980#true} is VALID [2022-04-27 12:10:24,596 INFO L290 TraceCheckUtils]: 30: Hoare triple {2980#true} assume !(0 == ~cond); {2980#true} is VALID [2022-04-27 12:10:24,596 INFO L290 TraceCheckUtils]: 31: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-27 12:10:24,597 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2980#true} {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} #65#return; {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-27 12:10:24,597 INFO L290 TraceCheckUtils]: 33: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-27 12:10:24,597 INFO L290 TraceCheckUtils]: 34: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~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; {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-27 12:10:24,598 INFO L290 TraceCheckUtils]: 35: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-27 12:10:24,598 INFO L290 TraceCheckUtils]: 36: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-27 12:10:24,598 INFO L272 TraceCheckUtils]: 37: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~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)); {2980#true} is VALID [2022-04-27 12:10:24,598 INFO L290 TraceCheckUtils]: 38: Hoare triple {2980#true} ~cond := #in~cond; {2980#true} is VALID [2022-04-27 12:10:24,598 INFO L290 TraceCheckUtils]: 39: Hoare triple {2980#true} assume !(0 == ~cond); {2980#true} is VALID [2022-04-27 12:10:24,598 INFO L290 TraceCheckUtils]: 40: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-27 12:10:24,599 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2980#true} {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} #65#return; {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-27 12:10:24,599 INFO L290 TraceCheckUtils]: 42: Hoare triple {3036#(and (<= main_~X~0 2) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume !!(~x~0 <= ~X~0); {3115#(and (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-27 12:10:24,600 INFO L290 TraceCheckUtils]: 43: Hoare triple {3115#(and (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3119#(and (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} is VALID [2022-04-27 12:10:24,600 INFO L290 TraceCheckUtils]: 44: Hoare triple {3119#(and (<= main_~X~0 2) (<= main_~x~0 main_~X~0) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3123#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 2))} is VALID [2022-04-27 12:10:24,601 INFO L290 TraceCheckUtils]: 45: Hoare triple {3123#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 2))} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3127#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 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)) (<= main_~Y~0 2))} is VALID [2022-04-27 12:10:24,601 INFO L272 TraceCheckUtils]: 46: Hoare triple {3127#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 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)) (<= 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)); {2980#true} is VALID [2022-04-27 12:10:24,601 INFO L290 TraceCheckUtils]: 47: Hoare triple {2980#true} ~cond := #in~cond; {3134#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:10:24,602 INFO L290 TraceCheckUtils]: 48: Hoare triple {3134#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3138#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:10:24,602 INFO L290 TraceCheckUtils]: 49: Hoare triple {3138#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3138#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:10:24,603 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3138#(not (= |__VERIFIER_assert_#in~cond| 0))} {3127#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 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)) (<= main_~Y~0 2))} #65#return; {3145#(and (<= main_~X~0 2) (= (+ (* 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) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 2))} is VALID [2022-04-27 12:10:24,603 INFO L290 TraceCheckUtils]: 51: Hoare triple {3145#(and (<= main_~X~0 2) (= (+ (* 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) (<= 0 main_~X~0) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 2))} assume !(~x~0 <= ~X~0); {3149#(and (<= main_~X~0 2) (= (+ (* 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) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 2))} is VALID [2022-04-27 12:10:24,618 INFO L290 TraceCheckUtils]: 52: Hoare triple {3149#(and (<= main_~X~0 2) (= (+ (* 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) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)) (<= main_~x~0 (+ main_~X~0 1)) (<= main_~Y~0 2))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {3153#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 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))))) (<= main_~Y~0 2))} is VALID [2022-04-27 12:10:24,631 INFO L272 TraceCheckUtils]: 53: Hoare triple {3153#(and (<= main_~X~0 2) (< main_~v~0 (* main_~Y~0 2)) (<= 0 main_~Y~0) (<= 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))))) (<= main_~Y~0 2))} 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)); {3157#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:10:24,631 INFO L290 TraceCheckUtils]: 54: Hoare triple {3157#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3161#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:10:24,631 INFO L290 TraceCheckUtils]: 55: Hoare triple {3161#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2981#false} is VALID [2022-04-27 12:10:24,631 INFO L290 TraceCheckUtils]: 56: Hoare triple {2981#false} assume !false; {2981#false} is VALID [2022-04-27 12:10:24,632 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-27 12:10:24,632 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:10:32,448 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 12:10:37,116 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 12:11:36,242 INFO L290 TraceCheckUtils]: 56: Hoare triple {2981#false} assume !false; {2981#false} is VALID [2022-04-27 12:11:36,242 INFO L290 TraceCheckUtils]: 55: Hoare triple {3161#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2981#false} is VALID [2022-04-27 12:11:36,243 INFO L290 TraceCheckUtils]: 54: Hoare triple {3157#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3161#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:11:36,243 INFO L272 TraceCheckUtils]: 53: Hoare triple {3177#(= (+ (* 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)); {3157#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:11:36,244 INFO L290 TraceCheckUtils]: 52: Hoare triple {3181#(= (+ (* 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; {3177#(= (+ (* 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-27 12:11:36,245 INFO L290 TraceCheckUtils]: 51: Hoare triple {3185#(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); {3181#(= (+ (* 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-27 12:11:36,247 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3138#(not (= |__VERIFIER_assert_#in~cond| 0))} {3189#(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; {3185#(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-27 12:11:36,247 INFO L290 TraceCheckUtils]: 49: Hoare triple {3138#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3138#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:11:36,248 INFO L290 TraceCheckUtils]: 48: Hoare triple {3199#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3138#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:11:36,248 INFO L290 TraceCheckUtils]: 47: Hoare triple {2980#true} ~cond := #in~cond; {3199#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 12:11:36,249 INFO L272 TraceCheckUtils]: 46: Hoare triple {3189#(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)); {2980#true} is VALID [2022-04-27 12:11:38,251 WARN L290 TraceCheckUtils]: 45: Hoare triple {3206#(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; {3189#(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-27 12:11:38,263 INFO L290 TraceCheckUtils]: 44: Hoare triple {3210#(forall ((v_main_~x~0_25 Int)) (or (and (or (= (+ (* 2 (* v_main_~x~0_25 main_~Y~0)) (* main_~Y~0 2) (* 2 (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_25 main_~Y~0)) main_~X~0))) (+ main_~X~0 main_~v~0 (* 2 (* v_main_~x~0_25 (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_25 main_~Y~0)) main_~X~0))))) (= main_~X~0 0) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_25 main_~Y~0)) main_~X~0) 0)) (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_25 (- 2) main_~Y~0)) 2) 0))) (or (not (= main_~X~0 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_25 main_~Y~0)) 0)) (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_25 (- 2) main_~Y~0)) 2) 0)) (forall ((main_~y~0 Int)) (= (+ (* 2 (* v_main_~x~0_25 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* (* v_main_~x~0_25 main_~y~0) 2) main_~X~0 main_~v~0))))) (<= v_main_~x~0_25 main_~X~0) (not (<= v_main_~x~0_25 (+ main_~x~0 1)))))} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {3206#(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 VALID [2022-04-27 12:11:40,268 WARN L290 TraceCheckUtils]: 43: Hoare triple {3214#(forall ((v_main_~x~0_25 Int)) (or (<= v_main_~x~0_25 main_~X~0) (not (<= v_main_~x~0_25 (+ main_~x~0 1))) (and (or (not (= main_~X~0 0)) (and (or (<= (div (- main_~X~0) (- 2)) (* v_main_~x~0_25 main_~Y~0)) (forall ((main_~y~0 Int)) (<= main_~y~0 (* v_main_~x~0_25 main_~y~0)))) (or (<= (div (- main_~X~0) (- 2)) (* v_main_~x~0_25 main_~Y~0)) (forall ((main_~y~0 Int)) (<= (* v_main_~x~0_25 main_~y~0) main_~y~0))))) (or (= main_~X~0 0) (forall ((aux_div_aux_mod_v_main_~v~0_32_40_77 Int) (aux_div_v_main_~v~0_32_40 Int)) (or (not (= (mod (+ aux_div_aux_mod_v_main_~v~0_32_40_77 main_~Y~0 (* v_main_~x~0_25 main_~Y~0)) main_~X~0) 0)) (and (or (<= (+ aux_div_v_main_~v~0_32_40 1) aux_div_aux_mod_v_main_~v~0_32_40_77) (<= (+ aux_div_aux_mod_v_main_~v~0_32_40_77 1) aux_div_v_main_~v~0_32_40) (<= (+ aux_div_aux_mod_v_main_~v~0_32_40_77 main_~Y~0 (* v_main_~x~0_25 main_~Y~0) (div (+ main_~Y~0 aux_div_v_main_~v~0_32_40 (* v_main_~x~0_25 main_~Y~0)) main_~X~0)) (* v_main_~x~0_25 (div (+ main_~Y~0 aux_div_v_main_~v~0_32_40 (* v_main_~x~0_25 main_~Y~0)) main_~X~0))) (<= (+ (div (* (- 1) main_~X~0) (- 2)) aux_div_aux_mod_v_main_~v~0_32_40_77 main_~Y~0) 0)) (or (<= (+ aux_div_v_main_~v~0_32_40 1) aux_div_aux_mod_v_main_~v~0_32_40_77) (<= (+ aux_div_aux_mod_v_main_~v~0_32_40_77 1) aux_div_v_main_~v~0_32_40) (<= (* v_main_~x~0_25 (div (+ main_~Y~0 aux_div_v_main_~v~0_32_40 (* v_main_~x~0_25 main_~Y~0)) main_~X~0)) (+ aux_div_aux_mod_v_main_~v~0_32_40_77 main_~Y~0 (* v_main_~x~0_25 main_~Y~0) (div (+ main_~Y~0 aux_div_v_main_~v~0_32_40 (* v_main_~x~0_25 main_~Y~0)) main_~X~0))) (<= (+ (div (* (- 1) main_~X~0) (- 2)) aux_div_aux_mod_v_main_~v~0_32_40_77 main_~Y~0) 0)))))))))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3210#(forall ((v_main_~x~0_25 Int)) (or (and (or (= (+ (* 2 (* v_main_~x~0_25 main_~Y~0)) (* main_~Y~0 2) (* 2 (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_25 main_~Y~0)) main_~X~0))) (+ main_~X~0 main_~v~0 (* 2 (* v_main_~x~0_25 (div (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_25 main_~Y~0)) main_~X~0))))) (= main_~X~0 0) (not (= (mod (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_25 main_~Y~0)) main_~X~0) 0)) (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_25 (- 2) main_~Y~0)) 2) 0))) (or (not (= main_~X~0 0)) (not (= (+ (div (+ main_~X~0 main_~v~0) (- 2)) main_~Y~0 (* v_main_~x~0_25 main_~Y~0)) 0)) (not (= (mod (+ main_~X~0 main_~v~0 (* v_main_~x~0_25 (- 2) main_~Y~0)) 2) 0)) (forall ((main_~y~0 Int)) (= (+ (* 2 (* v_main_~x~0_25 main_~Y~0)) (* main_~y~0 2) (* main_~Y~0 2)) (+ (* (* v_main_~x~0_25 main_~y~0) 2) main_~X~0 main_~v~0))))) (<= v_main_~x~0_25 main_~X~0) (not (<= v_main_~x~0_25 (+ main_~x~0 1)))))} is UNKNOWN [2022-04-27 12:11:40,571 INFO L290 TraceCheckUtils]: 42: Hoare triple {2980#true} assume !!(~x~0 <= ~X~0); {3214#(forall ((v_main_~x~0_25 Int)) (or (<= v_main_~x~0_25 main_~X~0) (not (<= v_main_~x~0_25 (+ main_~x~0 1))) (and (or (not (= main_~X~0 0)) (and (or (<= (div (- main_~X~0) (- 2)) (* v_main_~x~0_25 main_~Y~0)) (forall ((main_~y~0 Int)) (<= main_~y~0 (* v_main_~x~0_25 main_~y~0)))) (or (<= (div (- main_~X~0) (- 2)) (* v_main_~x~0_25 main_~Y~0)) (forall ((main_~y~0 Int)) (<= (* v_main_~x~0_25 main_~y~0) main_~y~0))))) (or (= main_~X~0 0) (forall ((aux_div_aux_mod_v_main_~v~0_32_40_77 Int) (aux_div_v_main_~v~0_32_40 Int)) (or (not (= (mod (+ aux_div_aux_mod_v_main_~v~0_32_40_77 main_~Y~0 (* v_main_~x~0_25 main_~Y~0)) main_~X~0) 0)) (and (or (<= (+ aux_div_v_main_~v~0_32_40 1) aux_div_aux_mod_v_main_~v~0_32_40_77) (<= (+ aux_div_aux_mod_v_main_~v~0_32_40_77 1) aux_div_v_main_~v~0_32_40) (<= (+ aux_div_aux_mod_v_main_~v~0_32_40_77 main_~Y~0 (* v_main_~x~0_25 main_~Y~0) (div (+ main_~Y~0 aux_div_v_main_~v~0_32_40 (* v_main_~x~0_25 main_~Y~0)) main_~X~0)) (* v_main_~x~0_25 (div (+ main_~Y~0 aux_div_v_main_~v~0_32_40 (* v_main_~x~0_25 main_~Y~0)) main_~X~0))) (<= (+ (div (* (- 1) main_~X~0) (- 2)) aux_div_aux_mod_v_main_~v~0_32_40_77 main_~Y~0) 0)) (or (<= (+ aux_div_v_main_~v~0_32_40 1) aux_div_aux_mod_v_main_~v~0_32_40_77) (<= (+ aux_div_aux_mod_v_main_~v~0_32_40_77 1) aux_div_v_main_~v~0_32_40) (<= (* v_main_~x~0_25 (div (+ main_~Y~0 aux_div_v_main_~v~0_32_40 (* v_main_~x~0_25 main_~Y~0)) main_~X~0)) (+ aux_div_aux_mod_v_main_~v~0_32_40_77 main_~Y~0 (* v_main_~x~0_25 main_~Y~0) (div (+ main_~Y~0 aux_div_v_main_~v~0_32_40 (* v_main_~x~0_25 main_~Y~0)) main_~X~0))) (<= (+ (div (* (- 1) main_~X~0) (- 2)) aux_div_aux_mod_v_main_~v~0_32_40_77 main_~Y~0) 0)))))))))} is VALID [2022-04-27 12:11:40,571 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2980#true} {2980#true} #65#return; {2980#true} is VALID [2022-04-27 12:11:40,571 INFO L290 TraceCheckUtils]: 40: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-27 12:11:40,571 INFO L290 TraceCheckUtils]: 39: Hoare triple {2980#true} assume !(0 == ~cond); {2980#true} is VALID [2022-04-27 12:11:40,571 INFO L290 TraceCheckUtils]: 38: Hoare triple {2980#true} ~cond := #in~cond; {2980#true} is VALID [2022-04-27 12:11:40,571 INFO L272 TraceCheckUtils]: 37: Hoare triple {2980#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2980#true} is VALID [2022-04-27 12:11:40,571 INFO L290 TraceCheckUtils]: 36: Hoare triple {2980#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2980#true} is VALID [2022-04-27 12:11:40,571 INFO L290 TraceCheckUtils]: 35: Hoare triple {2980#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2980#true} is VALID [2022-04-27 12:11:40,571 INFO L290 TraceCheckUtils]: 34: Hoare triple {2980#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; {2980#true} is VALID [2022-04-27 12:11:40,571 INFO L290 TraceCheckUtils]: 33: Hoare triple {2980#true} assume !!(~x~0 <= ~X~0); {2980#true} is VALID [2022-04-27 12:11:40,571 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2980#true} {2980#true} #65#return; {2980#true} is VALID [2022-04-27 12:11:40,572 INFO L290 TraceCheckUtils]: 31: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-27 12:11:40,572 INFO L290 TraceCheckUtils]: 30: Hoare triple {2980#true} assume !(0 == ~cond); {2980#true} is VALID [2022-04-27 12:11:40,572 INFO L290 TraceCheckUtils]: 29: Hoare triple {2980#true} ~cond := #in~cond; {2980#true} is VALID [2022-04-27 12:11:40,572 INFO L272 TraceCheckUtils]: 28: Hoare triple {2980#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2980#true} is VALID [2022-04-27 12:11:40,572 INFO L290 TraceCheckUtils]: 27: Hoare triple {2980#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2980#true} is VALID [2022-04-27 12:11:40,572 INFO L290 TraceCheckUtils]: 26: Hoare triple {2980#true} #t~post7 := ~x~0;~x~0 := 1 + #t~post7;havoc #t~post7; {2980#true} is VALID [2022-04-27 12:11:40,572 INFO L290 TraceCheckUtils]: 25: Hoare triple {2980#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; {2980#true} is VALID [2022-04-27 12:11:40,572 INFO L290 TraceCheckUtils]: 24: Hoare triple {2980#true} assume !!(~x~0 <= ~X~0); {2980#true} is VALID [2022-04-27 12:11:40,572 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2980#true} {2980#true} #65#return; {2980#true} is VALID [2022-04-27 12:11:40,572 INFO L290 TraceCheckUtils]: 22: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-27 12:11:40,572 INFO L290 TraceCheckUtils]: 21: Hoare triple {2980#true} assume !(0 == ~cond); {2980#true} is VALID [2022-04-27 12:11:40,572 INFO L290 TraceCheckUtils]: 20: Hoare triple {2980#true} ~cond := #in~cond; {2980#true} is VALID [2022-04-27 12:11:40,572 INFO L272 TraceCheckUtils]: 19: Hoare triple {2980#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {2980#true} is VALID [2022-04-27 12:11:40,572 INFO L290 TraceCheckUtils]: 18: Hoare triple {2980#true} assume !false;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2980#true} is VALID [2022-04-27 12:11:40,572 INFO L290 TraceCheckUtils]: 17: Hoare triple {2980#true} ~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2980#true} is VALID [2022-04-27 12:11:40,573 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2980#true} {2980#true} #63#return; {2980#true} is VALID [2022-04-27 12:11:40,573 INFO L290 TraceCheckUtils]: 15: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-27 12:11:40,573 INFO L290 TraceCheckUtils]: 14: Hoare triple {2980#true} assume !(0 == ~cond); {2980#true} is VALID [2022-04-27 12:11:40,573 INFO L290 TraceCheckUtils]: 13: Hoare triple {2980#true} ~cond := #in~cond; {2980#true} is VALID [2022-04-27 12:11:40,573 INFO L272 TraceCheckUtils]: 12: Hoare triple {2980#true} call assume_abort_if_not((if ~Y~0 >= 0 && ~Y~0 <= 2 then 1 else 0)); {2980#true} is VALID [2022-04-27 12:11:40,573 INFO L290 TraceCheckUtils]: 11: Hoare triple {2980#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5; {2980#true} is VALID [2022-04-27 12:11:40,573 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2980#true} {2980#true} #61#return; {2980#true} is VALID [2022-04-27 12:11:40,573 INFO L290 TraceCheckUtils]: 9: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-27 12:11:40,573 INFO L290 TraceCheckUtils]: 8: Hoare triple {2980#true} assume !(0 == ~cond); {2980#true} is VALID [2022-04-27 12:11:40,573 INFO L290 TraceCheckUtils]: 7: Hoare triple {2980#true} ~cond := #in~cond; {2980#true} is VALID [2022-04-27 12:11:40,573 INFO L272 TraceCheckUtils]: 6: Hoare triple {2980#true} call assume_abort_if_not((if ~X~0 >= 0 && ~X~0 <= 2 then 1 else 0)); {2980#true} is VALID [2022-04-27 12:11:40,573 INFO L290 TraceCheckUtils]: 5: Hoare triple {2980#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; {2980#true} is VALID [2022-04-27 12:11:40,573 INFO L272 TraceCheckUtils]: 4: Hoare triple {2980#true} call #t~ret8 := main(); {2980#true} is VALID [2022-04-27 12:11:40,573 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2980#true} {2980#true} #69#return; {2980#true} is VALID [2022-04-27 12:11:40,573 INFO L290 TraceCheckUtils]: 2: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-27 12:11:40,573 INFO L290 TraceCheckUtils]: 1: Hoare triple {2980#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); {2980#true} is VALID [2022-04-27 12:11:40,574 INFO L272 TraceCheckUtils]: 0: Hoare triple {2980#true} call ULTIMATE.init(); {2980#true} is VALID [2022-04-27 12:11:40,574 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-27 12:11:40,574 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:11:40,574 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [265455127] [2022-04-27 12:11:40,574 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:11:40,574 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1318991559] [2022-04-27 12:11:40,574 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1318991559] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:11:40,574 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:11:40,574 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 13] total 25 [2022-04-27 12:11:40,575 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1455423385] [2022-04-27 12:11:40,575 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:11:40,575 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 22 states have internal predecessors, (44), 7 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) Word has length 57 [2022-04-27 12:11:40,575 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:11:40,576 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 25 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 22 states have internal predecessors, (44), 7 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-27 12:11:43,516 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 63 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-27 12:11:43,517 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-27 12:11:43,517 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:11:43,517 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-27 12:11:43,517 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=98, Invalid=499, Unknown=3, NotChecked=0, Total=600 [2022-04-27 12:11:43,518 INFO L87 Difference]: Start difference. First operand 60 states and 70 transitions. Second operand has 25 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 22 states have internal predecessors, (44), 7 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-27 12:11:49,944 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:11:49,944 INFO L93 Difference]: Finished difference Result 62 states and 73 transitions. [2022-04-27 12:11:49,944 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-27 12:11:49,944 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 22 states have internal predecessors, (44), 7 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) Word has length 57 [2022-04-27 12:11:49,945 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:11:49,945 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 22 states have internal predecessors, (44), 7 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-27 12:11:49,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 44 transitions. [2022-04-27 12:11:49,946 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 22 states have internal predecessors, (44), 7 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-27 12:11:49,947 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 44 transitions. [2022-04-27 12:11:49,947 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 44 transitions. [2022-04-27 12:11:50,014 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-27 12:11:50,014 INFO L225 Difference]: With dead ends: 62 [2022-04-27 12:11:50,014 INFO L226 Difference]: Without dead ends: 0 [2022-04-27 12:11:50,015 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 90 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 263 ImplicationChecksByTransitivity, 14.8s TimeCoverageRelationStatistics Valid=219, Invalid=1038, Unknown=3, NotChecked=0, Total=1260 [2022-04-27 12:11:50,015 INFO L413 NwaCegarLoop]: 16 mSDtfsCounter, 26 mSDsluCounter, 124 mSDsCounter, 0 mSdLazyCounter, 267 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 361 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 267 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 73 IncrementalHoareTripleChecker+Unchecked, 2.5s IncrementalHoareTripleChecker+Time [2022-04-27 12:11:50,016 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 140 Invalid, 361 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 267 Invalid, 0 Unknown, 73 Unchecked, 2.5s Time] [2022-04-27 12:11:50,016 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-27 12:11:50,016 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-27 12:11:50,016 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:11:50,016 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 12:11:50,016 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 12:11:50,016 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 12:11:50,016 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:11:50,016 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 12:11:50,016 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 12:11:50,017 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:11:50,017 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:11:50,017 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-27 12:11:50,017 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-27 12:11:50,017 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:11:50,017 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 12:11:50,017 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 12:11:50,017 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:11:50,017 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:11:50,017 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:11:50,017 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:11:50,017 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 12:11:50,017 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-27 12:11:50,017 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 57 [2022-04-27 12:11:50,017 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:11:50,018 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-27 12:11:50,018 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 21 states have (on average 2.0952380952380953) internal successors, (44), 22 states have internal predecessors, (44), 7 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-27 12:11:50,018 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 12:11:50,018 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:11:50,020 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-27 12:11:50,026 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-27 12:11:50,224 WARN L477 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-27 12:11:50,226 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-27 12:11:51,778 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 7) no Hoare annotation was computed. [2022-04-27 12:11:51,778 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 7) no Hoare annotation was computed. [2022-04-27 12:11:51,778 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 7) no Hoare annotation was computed. [2022-04-27 12:11:51,779 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 10 12) the Hoare annotation is: true [2022-04-27 12:11:51,779 INFO L899 garLoopResultBuilder]: For program point L11(line 11) no Hoare annotation was computed. [2022-04-27 12:11:51,779 INFO L899 garLoopResultBuilder]: For program point L11-2(lines 10 12) no Hoare annotation was computed. [2022-04-27 12:11:51,779 INFO L899 garLoopResultBuilder]: For program point assume_abort_if_notEXIT(lines 10 12) no Hoare annotation was computed. [2022-04-27 12:11:51,779 INFO L895 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: (and (<= main_~X~0 2) (<= 0 main_~X~0)) [2022-04-27 12:11:51,779 INFO L899 garLoopResultBuilder]: For program point L27-1(line 27) no Hoare annotation was computed. [2022-04-27 12:11:51,779 INFO L902 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: true [2022-04-27 12:11:51,779 INFO L899 garLoopResultBuilder]: For program point mainEXIT(lines 21 53) no Hoare annotation was computed. [2022-04-27 12:11:51,779 INFO L899 garLoopResultBuilder]: For program point L25-1(line 25) no Hoare annotation was computed. [2022-04-27 12:11:51,779 INFO L895 garLoopResultBuilder]: At program point L50(line 50) the Hoare annotation is: (let ((.cse0 (* main_~Y~0 2))) (or (and (= main_~x~0 0) (= main_~xy~0 0) (= (+ main_~X~0 main_~v~0) .cse0) (= main_~y~0 0) (= main_~yx~0 0)) (let ((.cse2 (* main_~y~0 2)) (.cse1 (* 2 (* main_~Y~0 main_~x~0)))) (and (<= main_~X~0 2) (= (+ .cse0 .cse1) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (= (+ .cse2 .cse0 (* 2 main_~yx~0)) (+ (* 2 main_~xy~0) main_~X~0 main_~v~0)) (<= 0 main_~X~0) (= (+ (* 2 (* main_~y~0 main_~x~0)) main_~X~0 main_~v~0) (+ .cse2 .cse0 .cse1)) (<= main_~Y~0 2))))) [2022-04-27 12:11:51,779 INFO L899 garLoopResultBuilder]: For program point L50-1(line 50) no Hoare annotation was computed. [2022-04-27 12:11:51,779 INFO L899 garLoopResultBuilder]: For program point mainFINAL(lines 21 53) no Hoare annotation was computed. [2022-04-27 12:11:51,779 INFO L899 garLoopResultBuilder]: For program point L40(lines 40 45) no Hoare annotation was computed. [2022-04-27 12:11:51,779 INFO L899 garLoopResultBuilder]: For program point L40-2(lines 40 45) no Hoare annotation was computed. [2022-04-27 12:11:51,779 INFO L895 garLoopResultBuilder]: At program point L32-2(lines 32 47) the Hoare annotation is: (and (<= main_~X~0 2) (or (<= main_~x~0 main_~X~0) (forall ((main_~Y~0 Int)) (= (* 2 (* main_~y~0 main_~x~0)) (+ (* (* main_~X~0 main_~y~0) 2) (* main_~y~0 2))))) (= (+ (* 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_~Y~0) (<= 0 main_~X~0) (<= main_~Y~0 2)) [2022-04-27 12:11:51,779 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 21 53) the Hoare annotation is: true [2022-04-27 12:11:51,779 INFO L899 garLoopResultBuilder]: For program point L32-3(lines 32 47) no Hoare annotation was computed. [2022-04-27 12:11:51,780 INFO L895 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse1 (* main_~Y~0 2)) (.cse0 (* 2 main_~xy~0)) (.cse3 (* 2 (* main_~Y~0 main_~x~0))) (.cse2 (* 2 main_~yx~0))) (and (<= main_~X~0 2) (= (+ .cse0 main_~X~0 main_~v~0) (+ .cse1 .cse2)) (= (+ .cse1 .cse3) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (<= 0 main_~Y~0) (<= 0 main_~X~0) (or (= (+ .cse0 (* main_~y~0 2) .cse3) (+ (* 2 (* main_~y~0 main_~x~0)) .cse2)) (<= main_~x~0 main_~X~0)) (<= main_~Y~0 2))) [2022-04-27 12:11:51,780 INFO L899 garLoopResultBuilder]: For program point L35-1(lines 32 47) no Hoare annotation was computed. [2022-04-27 12:11:51,780 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2022-04-27 12:11:51,780 INFO L895 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-27 12:11:51,780 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2022-04-27 12:11:51,780 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-04-27 12:11:51,780 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-27 12:11:51,780 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-27 12:11:51,780 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-04-27 12:11:51,780 INFO L899 garLoopResultBuilder]: For program point L15(lines 15 16) no Hoare annotation was computed. [2022-04-27 12:11:51,780 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 13 19) the Hoare annotation is: true [2022-04-27 12:11:51,780 INFO L899 garLoopResultBuilder]: For program point L14(lines 14 17) no Hoare annotation was computed. [2022-04-27 12:11:51,780 INFO L899 garLoopResultBuilder]: For program point L14-2(lines 13 19) no Hoare annotation was computed. [2022-04-27 12:11:51,780 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertEXIT(lines 13 19) no Hoare annotation was computed. [2022-04-27 12:11:51,780 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 16) no Hoare annotation was computed. [2022-04-27 12:11:51,783 INFO L356 BasicCegarLoop]: Path program histogram: [3, 1, 1, 1, 1, 1] [2022-04-27 12:11:51,784 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-27 12:11:51,786 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-27 12:11:51,786 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 12:11:51,787 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-27 12:11:51,787 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-27 12:11:51,787 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-27 12:11:51,787 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 12:11:51,787 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 12:11:51,787 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-27 12:11:51,787 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-27 12:11:51,787 WARN L170 areAnnotationChecker]: L25-1 has no Hoare annotation [2022-04-27 12:11:51,787 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-27 12:11:51,787 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-27 12:11:51,787 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-27 12:11:51,787 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 12:11:51,788 WARN L170 areAnnotationChecker]: L11-2 has no Hoare annotation [2022-04-27 12:11:51,788 WARN L170 areAnnotationChecker]: L25-1 has no Hoare annotation [2022-04-27 12:11:51,788 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-27 12:11:51,788 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-27 12:11:51,788 WARN L170 areAnnotationChecker]: L14-2 has no Hoare annotation [2022-04-27 12:11:51,788 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 12:11:51,788 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 12:11:51,788 WARN L170 areAnnotationChecker]: L27-1 has no Hoare annotation [2022-04-27 12:11:51,788 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 12:11:51,788 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 12:11:51,788 WARN L170 areAnnotationChecker]: L27-1 has no Hoare annotation [2022-04-27 12:11:51,788 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-27 12:11:51,788 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-27 12:11:51,788 WARN L170 areAnnotationChecker]: L50-1 has no Hoare annotation [2022-04-27 12:11:51,788 WARN L170 areAnnotationChecker]: L32-3 has no Hoare annotation [2022-04-27 12:11:51,788 WARN L170 areAnnotationChecker]: L32-3 has no Hoare annotation [2022-04-27 12:11:51,791 WARN L170 areAnnotationChecker]: L32-3 has no Hoare annotation [2022-04-27 12:11:51,791 WARN L170 areAnnotationChecker]: L40 has no Hoare annotation [2022-04-27 12:11:51,791 WARN L170 areAnnotationChecker]: L40 has no Hoare annotation [2022-04-27 12:11:51,791 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-27 12:11:51,791 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-27 12:11:51,791 WARN L170 areAnnotationChecker]: L50-1 has no Hoare annotation [2022-04-27 12:11:51,791 WARN L170 areAnnotationChecker]: L40-2 has no Hoare annotation [2022-04-27 12:11:51,791 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-27 12:11:51,791 INFO L163 areAnnotationChecker]: CFG has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-27 12:11:51,798 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 12:11:51 BoogieIcfgContainer [2022-04-27 12:11:51,799 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-27 12:11:51,799 INFO L158 Benchmark]: Toolchain (without parser) took 281917.51ms. Allocated memory was 231.7MB in the beginning and 278.9MB in the end (delta: 47.2MB). Free memory was 179.6MB in the beginning and 170.0MB in the end (delta: 9.6MB). Peak memory consumption was 58.1MB. Max. memory is 8.0GB. [2022-04-27 12:11:51,799 INFO L158 Benchmark]: CDTParser took 0.08ms. Allocated memory is still 231.7MB. Free memory is still 195.6MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 12:11:51,800 INFO L158 Benchmark]: CACSL2BoogieTranslator took 224.01ms. Allocated memory is still 231.7MB. Free memory was 179.4MB in the beginning and 205.3MB in the end (delta: -25.8MB). Peak memory consumption was 12.8MB. Max. memory is 8.0GB. [2022-04-27 12:11:51,800 INFO L158 Benchmark]: Boogie Preprocessor took 17.23ms. Allocated memory is still 231.7MB. Free memory was 205.3MB in the beginning and 203.8MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-27 12:11:51,800 INFO L158 Benchmark]: RCFGBuilder took 246.84ms. Allocated memory is still 231.7MB. Free memory was 203.8MB in the beginning and 191.7MB in the end (delta: 12.1MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-27 12:11:51,800 INFO L158 Benchmark]: TraceAbstraction took 281425.94ms. Allocated memory was 231.7MB in the beginning and 278.9MB in the end (delta: 47.2MB). Free memory was 191.2MB in the beginning and 170.0MB in the end (delta: 21.2MB). Peak memory consumption was 69.5MB. Max. memory is 8.0GB. [2022-04-27 12:11:51,801 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.08ms. Allocated memory is still 231.7MB. Free memory is still 195.6MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 224.01ms. Allocated memory is still 231.7MB. Free memory was 179.4MB in the beginning and 205.3MB in the end (delta: -25.8MB). Peak memory consumption was 12.8MB. Max. memory is 8.0GB. * Boogie Preprocessor took 17.23ms. Allocated memory is still 231.7MB. Free memory was 205.3MB in the beginning and 203.8MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 246.84ms. Allocated memory is still 231.7MB. Free memory was 203.8MB in the beginning and 191.7MB in the end (delta: 12.1MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 281425.94ms. Allocated memory was 231.7MB in the beginning and 278.9MB in the end (delta: 47.2MB). Free memory was 191.2MB in the beginning and 170.0MB in the end (delta: 21.2MB). Peak memory consumption was 69.5MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 16]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 35 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 281.4s, OverallIterations: 8, TraceHistogramMax: 5, PathProgramHistogramMax: 3, EmptinessCheckTime: 0.0s, AutomataDifference: 10.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 1.6s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 154 SdHoareTripleChecker+Valid, 3.4s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 144 mSDsluCounter, 918 SdHoareTripleChecker+Invalid, 3.4s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 136 IncrementalHoareTripleChecker+Unchecked, 720 mSDsCounter, 96 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1050 IncrementalHoareTripleChecker+Invalid, 1282 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 96 mSolverCounterUnsat, 198 mSDtfsCounter, 1050 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 575 GetRequests, 443 SyntacticMatches, 7 SemanticMatches, 125 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 612 ImplicationChecksByTransitivity, 16.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=60occurred in iteration=7, InterpolantAutomatonStates: 95, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.2s AutomataMinimizationTime, 8 MinimizatonAttempts, 24 StatesRemovedByMinimization, 5 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 11 LocationsWithAnnotation, 33 PreInvPairs, 56 NumberOfFragments, 232 HoareAnnotationTreeSize, 33 FomulaSimplifications, 132 FormulaSimplificationTreeSizeReduction, 0.1s HoareSimplificationTime, 11 FomulaSimplificationsInter, 3198 FormulaSimplificationTreeSizeReductionInter, 1.5s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 264.2s InterpolantComputationTime, 311 NumberOfCodeBlocks, 293 NumberOfCodeBlocksAsserted, 10 NumberOfCheckSat, 531 ConstructedInterpolants, 6 QuantifiedInterpolants, 3046 SizeOfPredicates, 38 NumberOfNonLiveVariables, 823 ConjunctsInSsa, 128 ConjunctsInUnsatCore, 13 InterpolantComputations, 2 PerfectInterpolantSequences, 309/368 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 32]: Loop Invariant Derived loop invariant: ((((X <= 2 && (x <= X || (forall main_~Y~0 : int :: 2 * (y * x) == X * y * 2 + y * 2))) && Y * 2 + 2 * (Y * x) == X * y * 2 + X + v) && 0 <= Y) && 0 <= X) && Y <= 2 RESULT: Ultimate proved your program to be correct! [2022-04-27 12:11:51,985 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...