/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-34549b5 [2022-04-07 12:52:19,238 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-07 12:52:19,240 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-07 12:52:19,275 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-07 12:52:19,276 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-07 12:52:19,277 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-07 12:52:19,278 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-07 12:52:19,280 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-07 12:52:19,282 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-07 12:52:19,285 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-07 12:52:19,285 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-07 12:52:19,286 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-07 12:52:19,287 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-07 12:52:19,288 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-07 12:52:19,289 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-07 12:52:19,291 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-07 12:52:19,291 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-07 12:52:19,292 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-07 12:52:19,293 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-07 12:52:19,297 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-07 12:52:19,298 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-07 12:52:19,299 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-07 12:52:19,300 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-07 12:52:19,300 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-07 12:52:19,301 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-07 12:52:19,306 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-07 12:52:19,306 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-07 12:52:19,306 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-07 12:52:19,307 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-07 12:52:19,307 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-07 12:52:19,308 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-07 12:52:19,308 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-07 12:52:19,309 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-07 12:52:19,309 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-07 12:52:19,310 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-07 12:52:19,310 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-07 12:52:19,310 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-07 12:52:19,311 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-07 12:52:19,311 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-07 12:52:19,311 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-07 12:52:19,312 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-07 12:52:19,313 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-07 12:52:19,313 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-07 12:52:19,333 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-07 12:52:19,333 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-07 12:52:19,333 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-07 12:52:19,333 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-07 12:52:19,334 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-07 12:52:19,334 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-07 12:52:19,334 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-07 12:52:19,334 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-07 12:52:19,335 INFO L138 SettingsManager]: * Use SBE=true [2022-04-07 12:52:19,335 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-07 12:52:19,335 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-07 12:52:19,335 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-07 12:52:19,335 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-07 12:52:19,336 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-07 12:52:19,336 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-07 12:52:19,336 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-07 12:52:19,336 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-07 12:52:19,336 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-07 12:52:19,336 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-07 12:52:19,336 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-07 12:52:19,336 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-07 12:52:19,336 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-07 12:52:19,336 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-07 12:52:19,337 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-07 12:52:19,337 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 12:52:19,337 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-07 12:52:19,337 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-07 12:52:19,337 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-07 12:52:19,337 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-07 12:52:19,337 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-07 12:52:19,337 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-04-07 12:52:19,338 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-07 12:52:19,338 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-07 12:52:19,338 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-07 12:52:19,521 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-07 12:52:19,543 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-07 12:52:19,544 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-07 12:52:19,545 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-07 12:52:19,545 INFO L275 PluginConnector]: CDTParser initialized [2022-04-07 12:52:19,546 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-07 12:52:19,586 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/47ec0b5ef/30a347b2c7114a4ba030ddd26bdfeb99/FLAGd44d7f069 [2022-04-07 12:52:19,936 INFO L306 CDTParser]: Found 1 translation units. [2022-04-07 12:52:19,937 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_valuebound2.c [2022-04-07 12:52:19,943 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/47ec0b5ef/30a347b2c7114a4ba030ddd26bdfeb99/FLAGd44d7f069 [2022-04-07 12:52:19,954 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/47ec0b5ef/30a347b2c7114a4ba030ddd26bdfeb99 [2022-04-07 12:52:19,955 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-07 12:52:19,956 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-07 12:52:19,958 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-07 12:52:19,958 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-07 12:52:19,976 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-07 12:52:19,977 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 12:52:19" (1/1) ... [2022-04-07 12:52:19,978 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@376c8f71 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:52:19, skipping insertion in model container [2022-04-07 12:52:19,978 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 12:52:19" (1/1) ... [2022-04-07 12:52:19,982 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-07 12:52:19,990 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-07 12:52:20,114 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-07 12:52:20,140 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 12:52:20,145 INFO L203 MainTranslator]: Completed pre-run [2022-04-07 12:52:20,154 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-07 12:52:20,173 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 12:52:20,181 INFO L208 MainTranslator]: Completed translation [2022-04-07 12:52:20,182 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:52:20 WrapperNode [2022-04-07 12:52:20,182 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-07 12:52:20,182 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-07 12:52:20,182 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-07 12:52:20,182 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-07 12:52:20,189 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:52:20" (1/1) ... [2022-04-07 12:52:20,189 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:52:20" (1/1) ... [2022-04-07 12:52:20,194 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:52:20" (1/1) ... [2022-04-07 12:52:20,194 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:52:20" (1/1) ... [2022-04-07 12:52:20,203 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:52:20" (1/1) ... [2022-04-07 12:52:20,207 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:52:20" (1/1) ... [2022-04-07 12:52:20,210 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:52:20" (1/1) ... [2022-04-07 12:52:20,212 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-07 12:52:20,213 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-07 12:52:20,213 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-07 12:52:20,213 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-07 12:52:20,213 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:52:20" (1/1) ... [2022-04-07 12:52:20,217 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 12:52:20,224 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:52:20,243 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-07 12:52:20,267 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-07 12:52:20,281 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-07 12:52:20,282 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-07 12:52:20,282 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-07 12:52:20,282 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-07 12:52:20,282 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-07 12:52:20,282 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-07 12:52:20,282 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-07 12:52:20,282 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-07 12:52:20,282 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-07 12:52:20,282 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-07 12:52:20,282 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-07 12:52:20,282 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-07 12:52:20,282 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-07 12:52:20,283 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-07 12:52:20,283 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-07 12:52:20,283 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-07 12:52:20,283 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-07 12:52:20,283 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-07 12:52:20,283 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-07 12:52:20,283 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-07 12:52:20,322 INFO L234 CfgBuilder]: Building ICFG [2022-04-07 12:52:20,323 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-07 12:52:20,453 INFO L275 CfgBuilder]: Performing block encoding [2022-04-07 12:52:20,458 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-07 12:52:20,458 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-07 12:52:20,459 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 12:52:20 BoogieIcfgContainer [2022-04-07 12:52:20,459 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-07 12:52:20,460 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-07 12:52:20,460 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-07 12:52:20,462 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-07 12:52:20,462 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.04 12:52:19" (1/3) ... [2022-04-07 12:52:20,463 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@35ea705c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 12:52:20, skipping insertion in model container [2022-04-07 12:52:20,463 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:52:20" (2/3) ... [2022-04-07 12:52:20,463 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@35ea705c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 12:52:20, skipping insertion in model container [2022-04-07 12:52:20,463 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 12:52:20" (3/3) ... [2022-04-07 12:52:20,464 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_valuebound2.c [2022-04-07 12:52:20,485 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-07 12:52:20,486 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-07 12:52:20,527 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-07 12:52:20,545 INFO L340 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 [2022-04-07 12:52:20,545 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-07 12:52:20,570 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-07 12:52:20,573 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-07 12:52:20,573 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:52:20,573 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:52:20,574 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:52:20,576 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:52:20,577 INFO L85 PathProgramCache]: Analyzing trace with hash -1867489771, now seen corresponding path program 1 times [2022-04-07 12:52:20,582 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:52:20,582 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [637820811] [2022-04-07 12:52:20,582 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:52:20,583 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:52:20,671 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:52:20,705 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 12:52:20,707 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:52:20,717 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-07 12:52:20,717 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-07 12:52:20,717 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-07 12:52:20,718 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 12:52:20,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:52:20,723 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-07 12:52:20,724 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-07 12:52:20,724 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-07 12:52:20,724 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-07 12:52:20,724 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-07 12:52:20,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:52:20,729 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-07 12:52:20,729 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-07 12:52:20,729 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-07 12:52:20,730 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-07 12:52:20,730 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-07 12:52:20,731 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-07 12:52:20,731 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-07 12:52:20,731 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-04-07 12:52:20,731 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret8 := main(); {35#true} is VALID [2022-04-07 12:52:20,731 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-07 12:52:20,731 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-07 12:52:20,731 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-07 12:52:20,732 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-07 12:52:20,732 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-07 12:52:20,732 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-07 12:52:20,732 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-07 12:52:20,732 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-07 12:52:20,732 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-07 12:52:20,733 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-07 12:52:20,733 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-07 12:52:20,733 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-07 12:52:20,733 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-07 12:52:20,733 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-07 12:52:20,734 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-07 12:52:20,734 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-07 12:52:20,734 INFO L290 TraceCheckUtils]: 21: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-07 12:52:20,734 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-07 12:52:20,734 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-07 12:52:20,735 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:52:20,735 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [637820811] [2022-04-07 12:52:20,735 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [637820811] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 12:52:20,735 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 12:52:20,735 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-07 12:52:20,736 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [696815113] [2022-04-07 12:52:20,737 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 12:52:20,740 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-07 12:52:20,741 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:52:20,743 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-07 12:52:20,763 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-07 12:52:20,763 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-07 12:52:20,763 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:52:20,776 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-07 12:52:20,776 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-07 12:52:20,778 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-07 12:52:20,892 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:52:20,892 INFO L93 Difference]: Finished difference Result 57 states and 74 transitions. [2022-04-07 12:52:20,892 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-07 12:52:20,892 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-07 12:52:20,893 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:52:20,893 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-07 12:52:20,900 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-07 12:52:20,900 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-07 12:52:20,904 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 74 transitions. [2022-04-07 12:52:20,904 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 74 transitions. [2022-04-07 12:52:20,972 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-07 12:52:20,978 INFO L225 Difference]: With dead ends: 57 [2022-04-07 12:52:20,979 INFO L226 Difference]: Without dead ends: 27 [2022-04-07 12:52:20,981 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-07 12:52:20,983 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 6 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 11 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 6 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 12:52:20,983 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 34 Invalid, 11 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 6 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 12:52:20,993 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-07 12:52:21,002 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-07 12:52:21,002 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:52:21,003 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-07 12:52:21,003 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-07 12:52:21,003 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-07 12:52:21,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:52:21,010 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-07 12:52:21,010 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-07 12:52:21,011 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:52:21,011 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:52:21,012 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-07 12:52:21,013 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-07 12:52:21,019 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:52:21,019 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-07 12:52:21,019 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-07 12:52:21,019 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:52:21,025 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:52:21,025 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:52:21,025 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:52:21,025 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-07 12:52:21,027 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-07 12:52:21,028 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 23 [2022-04-07 12:52:21,028 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:52:21,029 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-07 12:52:21,029 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 12:52:21,029 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-07 12:52:21,029 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-07 12:52:21,029 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:52:21,029 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:52:21,030 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-07 12:52:21,030 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:52:21,030 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:52:21,030 INFO L85 PathProgramCache]: Analyzing trace with hash 1827672217, now seen corresponding path program 1 times [2022-04-07 12:52:21,031 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:52:21,031 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [623892410] [2022-04-07 12:52:21,031 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:52:21,031 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:52:21,052 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:52:21,052 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [371270538] [2022-04-07 12:52:21,052 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:52:21,052 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:52:21,052 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:52:21,054 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-07 12:52:21,054 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-07 12:52:21,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:52:21,129 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-07 12:52:21,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:52:21,149 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:52:21,332 INFO L272 TraceCheckUtils]: 0: Hoare triple {217#true} call ULTIMATE.init(); {217#true} is VALID [2022-04-07 12:52:21,333 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-07 12:52:21,333 INFO L290 TraceCheckUtils]: 2: Hoare triple {217#true} assume true; {217#true} is VALID [2022-04-07 12:52:21,333 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {217#true} {217#true} #69#return; {217#true} is VALID [2022-04-07 12:52:21,333 INFO L272 TraceCheckUtils]: 4: Hoare triple {217#true} call #t~ret8 := main(); {217#true} is VALID [2022-04-07 12:52:21,333 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-07 12:52:21,333 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-07 12:52:21,333 INFO L290 TraceCheckUtils]: 7: Hoare triple {217#true} ~cond := #in~cond; {217#true} is VALID [2022-04-07 12:52:21,334 INFO L290 TraceCheckUtils]: 8: Hoare triple {217#true} assume !(0 == ~cond); {217#true} is VALID [2022-04-07 12:52:21,334 INFO L290 TraceCheckUtils]: 9: Hoare triple {217#true} assume true; {217#true} is VALID [2022-04-07 12:52:21,334 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {217#true} {217#true} #61#return; {217#true} is VALID [2022-04-07 12:52:21,334 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-07 12:52:21,334 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-07 12:52:21,334 INFO L290 TraceCheckUtils]: 13: Hoare triple {217#true} ~cond := #in~cond; {217#true} is VALID [2022-04-07 12:52:21,334 INFO L290 TraceCheckUtils]: 14: Hoare triple {217#true} assume !(0 == ~cond); {217#true} is VALID [2022-04-07 12:52:21,334 INFO L290 TraceCheckUtils]: 15: Hoare triple {217#true} assume true; {217#true} is VALID [2022-04-07 12:52:21,335 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {217#true} {217#true} #63#return; {217#true} is VALID [2022-04-07 12:52:21,335 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-07 12:52:21,336 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-07 12:52:21,336 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-07 12:52:21,337 INFO L290 TraceCheckUtils]: 20: Hoare triple {281#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {285#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:52:21,337 INFO L290 TraceCheckUtils]: 21: Hoare triple {285#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {218#false} is VALID [2022-04-07 12:52:21,337 INFO L290 TraceCheckUtils]: 22: Hoare triple {218#false} assume !false; {218#false} is VALID [2022-04-07 12:52:21,338 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-07 12:52:21,338 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 12:52:21,338 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:52:21,338 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [623892410] [2022-04-07 12:52:21,338 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:52:21,338 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [371270538] [2022-04-07 12:52:21,338 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [371270538] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 12:52:21,339 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 12:52:21,339 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-07 12:52:21,339 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1649784655] [2022-04-07 12:52:21,339 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 12:52:21,340 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-07 12:52:21,340 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:52:21,340 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-07 12:52:21,355 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-07 12:52:21,355 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-07 12:52:21,355 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:52:21,355 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-07 12:52:21,355 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-07 12:52:21,356 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-07 12:52:21,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:52:21,518 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2022-04-07 12:52:21,518 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-07 12:52:21,518 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-07 12:52:21,518 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:52:21,519 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-07 12:52:21,520 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-07 12:52:21,521 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-07 12:52:21,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2022-04-07 12:52:21,522 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2022-04-07 12:52:21,554 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-07 12:52:21,555 INFO L225 Difference]: With dead ends: 39 [2022-04-07 12:52:21,556 INFO L226 Difference]: Without dead ends: 35 [2022-04-07 12:52:21,556 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-07 12:52:21,557 INFO L913 BasicCegarLoop]: 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-07 12:52:21,557 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 91 Invalid, 66 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 61 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 12:52:21,558 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-07 12:52:21,562 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 34. [2022-04-07 12:52:21,562 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:52:21,562 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-07 12:52:21,562 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-07 12:52:21,563 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-07 12:52:21,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:52:21,565 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-07 12:52:21,565 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-07 12:52:21,565 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:52:21,565 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:52:21,565 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-07 12:52:21,566 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-07 12:52:21,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:52:21,567 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-07 12:52:21,568 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-07 12:52:21,568 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:52:21,568 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:52:21,568 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:52:21,568 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:52:21,568 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-07 12:52:21,570 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 37 transitions. [2022-04-07 12:52:21,570 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 37 transitions. Word has length 23 [2022-04-07 12:52:21,570 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:52:21,570 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 37 transitions. [2022-04-07 12:52:21,570 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.4) internal successors, (12), 5 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 12:52:21,570 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 37 transitions. [2022-04-07 12:52:21,571 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-07 12:52:21,571 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:52:21,571 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:52:21,601 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-07 12:52:21,789 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:52:21,789 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:52:21,790 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:52:21,790 INFO L85 PathProgramCache]: Analyzing trace with hash -1419291471, now seen corresponding path program 1 times [2022-04-07 12:52:21,790 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:52:21,790 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [109987836] [2022-04-07 12:52:21,790 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:52:21,790 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:52:21,805 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:52:21,805 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [933498731] [2022-04-07 12:52:21,805 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:52:21,805 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:52:21,806 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:52:21,806 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-07 12:52:21,843 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-07 12:52:21,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:52:21,863 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-07 12:52:21,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:52:21,874 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:52:29,050 INFO L272 TraceCheckUtils]: 0: Hoare triple {467#true} call ULTIMATE.init(); {467#true} is VALID [2022-04-07 12:52:29,050 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-07 12:52:29,050 INFO L290 TraceCheckUtils]: 2: Hoare triple {467#true} assume true; {467#true} is VALID [2022-04-07 12:52:29,051 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {467#true} {467#true} #69#return; {467#true} is VALID [2022-04-07 12:52:29,051 INFO L272 TraceCheckUtils]: 4: Hoare triple {467#true} call #t~ret8 := main(); {467#true} is VALID [2022-04-07 12:52:29,051 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-07 12:52:29,051 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-07 12:52:29,051 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-07 12:52:29,052 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-07 12:52:29,052 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-07 12:52:29,053 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-07 12:52:29,053 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-07 12:52:29,053 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-07 12:52:29,054 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-07 12:52:29,054 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-07 12:52:29,055 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-07 12:52:29,055 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-07 12:52:29,056 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-07 12:52:29,056 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-07 12:52:29,056 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-07 12:52:29,057 INFO L290 TraceCheckUtils]: 20: Hoare triple {467#true} ~cond := #in~cond; {467#true} is VALID [2022-04-07 12:52:29,057 INFO L290 TraceCheckUtils]: 21: Hoare triple {467#true} assume !(0 == ~cond); {467#true} is VALID [2022-04-07 12:52:29,057 INFO L290 TraceCheckUtils]: 22: Hoare triple {467#true} assume true; {467#true} is VALID [2022-04-07 12:52:29,058 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-07 12:52:29,058 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-07 12:52:29,059 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-07 12:52:29,059 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-07 12:52:29,061 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-07 12:52:29,062 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-07 12:52:29,062 INFO L290 TraceCheckUtils]: 29: Hoare triple {563#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {567#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:52:29,063 INFO L290 TraceCheckUtils]: 30: Hoare triple {567#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {468#false} is VALID [2022-04-07 12:52:29,063 INFO L290 TraceCheckUtils]: 31: Hoare triple {468#false} assume !false; {468#false} is VALID [2022-04-07 12:52:29,063 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-07 12:52:29,063 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:54:21,787 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:54:21,787 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [109987836] [2022-04-07 12:54:21,788 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:54:21,788 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [933498731] [2022-04-07 12:54:21,788 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [933498731] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-07 12:54:21,788 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-07 12:54:21,788 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-07 12:54:21,788 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [397410723] [2022-04-07 12:54:21,788 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-07 12:54:21,789 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-07 12:54:21,789 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:54:21,789 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-07 12:54:21,826 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-07 12:54:21,826 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-07 12:54:21,826 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:54:21,827 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-07 12:54:21,827 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=144, Unknown=0, NotChecked=0, Total=182 [2022-04-07 12:54:21,827 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-07 12:54:22,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:54:22,239 INFO L93 Difference]: Finished difference Result 61 states and 70 transitions. [2022-04-07 12:54:22,239 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-07 12:54:22,239 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-07 12:54:22,240 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:54:22,241 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-07 12:54:22,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 67 transitions. [2022-04-07 12:54:22,247 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-07 12:54:22,251 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 67 transitions. [2022-04-07 12:54:22,251 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 67 transitions. [2022-04-07 12:54:22,294 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-07 12:54:22,296 INFO L225 Difference]: With dead ends: 61 [2022-04-07 12:54:22,296 INFO L226 Difference]: Without dead ends: 35 [2022-04-07 12:54:22,297 INFO L912 BasicCegarLoop]: 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-07 12:54:22,300 INFO L913 BasicCegarLoop]: 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-07 12:54:22,301 INFO L914 BasicCegarLoop]: 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-07 12:54:22,303 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-07 12:54:22,319 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-07 12:54:22,319 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:54:22,319 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-07 12:54:22,320 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-07 12:54:22,320 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-07 12:54:22,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:54:22,331 INFO L93 Difference]: Finished difference Result 35 states and 38 transitions. [2022-04-07 12:54:22,331 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-07 12:54:22,332 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:54:22,332 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:54:22,332 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-07 12:54:22,332 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-07 12:54:22,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:54:22,333 INFO L93 Difference]: Finished difference Result 35 states and 38 transitions. [2022-04-07 12:54:22,333 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-07 12:54:22,334 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:54:22,334 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:54:22,334 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:54:22,334 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:54:22,334 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-07 12:54:22,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 38 transitions. [2022-04-07 12:54:22,335 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 38 transitions. Word has length 32 [2022-04-07 12:54:22,335 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:54:22,335 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 38 transitions. [2022-04-07 12:54:22,336 INFO L479 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-07 12:54:22,336 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 38 transitions. [2022-04-07 12:54:22,336 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-07 12:54:22,336 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:54:22,336 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:54:22,362 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-07 12:54:22,537 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-07 12:54:22,538 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:54:22,538 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:54:22,540 INFO L85 PathProgramCache]: Analyzing trace with hash 355715891, now seen corresponding path program 1 times [2022-04-07 12:54:22,540 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:54:22,542 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [718503072] [2022-04-07 12:54:22,542 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:54:22,542 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:54:22,577 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:54:22,577 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1654544532] [2022-04-07 12:54:22,577 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:54:22,577 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:54:22,577 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:54:22,586 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-07 12:54:22,587 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-07 12:54:22,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:54:22,622 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-07 12:54:22,640 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:54:22,641 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:54:22,848 INFO L272 TraceCheckUtils]: 0: Hoare triple {812#true} call ULTIMATE.init(); {812#true} is VALID [2022-04-07 12:54:22,848 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-07 12:54:22,848 INFO L290 TraceCheckUtils]: 2: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-07 12:54:22,848 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {812#true} {812#true} #69#return; {812#true} is VALID [2022-04-07 12:54:22,848 INFO L272 TraceCheckUtils]: 4: Hoare triple {812#true} call #t~ret8 := main(); {812#true} is VALID [2022-04-07 12:54:22,848 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-07 12:54:22,849 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-07 12:54:22,849 INFO L290 TraceCheckUtils]: 7: Hoare triple {812#true} ~cond := #in~cond; {812#true} is VALID [2022-04-07 12:54:22,849 INFO L290 TraceCheckUtils]: 8: Hoare triple {812#true} assume !(0 == ~cond); {812#true} is VALID [2022-04-07 12:54:22,849 INFO L290 TraceCheckUtils]: 9: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-07 12:54:22,849 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {812#true} {812#true} #61#return; {812#true} is VALID [2022-04-07 12:54:22,849 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-07 12:54:22,849 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-07 12:54:22,849 INFO L290 TraceCheckUtils]: 13: Hoare triple {812#true} ~cond := #in~cond; {812#true} is VALID [2022-04-07 12:54:22,849 INFO L290 TraceCheckUtils]: 14: Hoare triple {812#true} assume !(0 == ~cond); {812#true} is VALID [2022-04-07 12:54:22,850 INFO L290 TraceCheckUtils]: 15: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-07 12:54:22,850 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {812#true} {812#true} #63#return; {812#true} is VALID [2022-04-07 12:54:22,852 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-07 12:54:22,852 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-07 12:54:22,852 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-07 12:54:22,853 INFO L290 TraceCheckUtils]: 20: Hoare triple {812#true} ~cond := #in~cond; {812#true} is VALID [2022-04-07 12:54:22,853 INFO L290 TraceCheckUtils]: 21: Hoare triple {812#true} assume !(0 == ~cond); {812#true} is VALID [2022-04-07 12:54:22,853 INFO L290 TraceCheckUtils]: 22: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-07 12:54:22,854 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-07 12:54:22,854 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-07 12:54:22,855 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-07 12:54:22,856 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-07 12:54:22,857 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-07 12:54:22,857 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-07 12:54:22,859 INFO L290 TraceCheckUtils]: 29: Hoare triple {906#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {910#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:54:22,859 INFO L290 TraceCheckUtils]: 30: Hoare triple {910#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {813#false} is VALID [2022-04-07 12:54:22,859 INFO L290 TraceCheckUtils]: 31: Hoare triple {813#false} assume !false; {813#false} is VALID [2022-04-07 12:54:22,859 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-07 12:54:22,859 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:54:23,049 INFO L290 TraceCheckUtils]: 31: Hoare triple {813#false} assume !false; {813#false} is VALID [2022-04-07 12:54:23,050 INFO L290 TraceCheckUtils]: 30: Hoare triple {910#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {813#false} is VALID [2022-04-07 12:54:23,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-07 12:54:23,051 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-07 12:54:23,052 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-07 12:54:23,053 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-07 12:54:23,055 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-07 12:54:23,055 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-07 12:54:23,056 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-07 12:54:23,056 INFO L290 TraceCheckUtils]: 22: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-07 12:54:23,056 INFO L290 TraceCheckUtils]: 21: Hoare triple {812#true} assume !(0 == ~cond); {812#true} is VALID [2022-04-07 12:54:23,056 INFO L290 TraceCheckUtils]: 20: Hoare triple {812#true} ~cond := #in~cond; {812#true} is VALID [2022-04-07 12:54:23,056 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-07 12:54:23,057 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-07 12:54:23,057 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-07 12:54:23,057 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {812#true} {812#true} #63#return; {812#true} is VALID [2022-04-07 12:54:23,058 INFO L290 TraceCheckUtils]: 15: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-07 12:54:23,058 INFO L290 TraceCheckUtils]: 14: Hoare triple {812#true} assume !(0 == ~cond); {812#true} is VALID [2022-04-07 12:54:23,058 INFO L290 TraceCheckUtils]: 13: Hoare triple {812#true} ~cond := #in~cond; {812#true} is VALID [2022-04-07 12:54:23,058 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-07 12:54:23,058 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-07 12:54:23,058 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {812#true} {812#true} #61#return; {812#true} is VALID [2022-04-07 12:54:23,058 INFO L290 TraceCheckUtils]: 9: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-07 12:54:23,058 INFO L290 TraceCheckUtils]: 8: Hoare triple {812#true} assume !(0 == ~cond); {812#true} is VALID [2022-04-07 12:54:23,058 INFO L290 TraceCheckUtils]: 7: Hoare triple {812#true} ~cond := #in~cond; {812#true} is VALID [2022-04-07 12:54:23,058 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-07 12:54:23,059 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-07 12:54:23,059 INFO L272 TraceCheckUtils]: 4: Hoare triple {812#true} call #t~ret8 := main(); {812#true} is VALID [2022-04-07 12:54:23,059 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {812#true} {812#true} #69#return; {812#true} is VALID [2022-04-07 12:54:23,059 INFO L290 TraceCheckUtils]: 2: Hoare triple {812#true} assume true; {812#true} is VALID [2022-04-07 12:54:23,059 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-07 12:54:23,059 INFO L272 TraceCheckUtils]: 0: Hoare triple {812#true} call ULTIMATE.init(); {812#true} is VALID [2022-04-07 12:54:23,059 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-07 12:54:23,060 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:54:23,060 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [718503072] [2022-04-07 12:54:23,060 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:54:23,060 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1654544532] [2022-04-07 12:54:23,060 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1654544532] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:54:23,060 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:54:23,060 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 13 [2022-04-07 12:54:23,060 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1331664766] [2022-04-07 12:54:23,060 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:54:23,061 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-07 12:54:23,061 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:54:23,061 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-07 12:54:23,093 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-07 12:54:23,093 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-07 12:54:23,093 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:54:23,093 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-07 12:54:23,094 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-07 12:54:23,094 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-07 12:54:23,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:54:23,629 INFO L93 Difference]: Finished difference Result 48 states and 53 transitions. [2022-04-07 12:54:23,629 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-07 12:54:23,629 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-07 12:54:23,629 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:54:23,630 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-07 12:54:23,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 50 transitions. [2022-04-07 12:54:23,631 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-07 12:54:23,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 50 transitions. [2022-04-07 12:54:23,632 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 50 transitions. [2022-04-07 12:54:23,676 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-07 12:54:23,677 INFO L225 Difference]: With dead ends: 48 [2022-04-07 12:54:23,677 INFO L226 Difference]: Without dead ends: 44 [2022-04-07 12:54:23,678 INFO L912 BasicCegarLoop]: 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-07 12:54:23,679 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 22 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 143 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-07 12:54:23,679 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 109 Invalid, 158 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 143 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 12:54:23,680 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-07 12:54:23,697 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-07 12:54:23,697 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:54:23,698 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-07 12:54:23,698 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-07 12:54:23,698 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-07 12:54:23,701 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:54:23,701 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-07 12:54:23,702 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-07 12:54:23,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:54:23,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:54:23,705 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-07 12:54:23,705 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-07 12:54:23,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:54:23,706 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2022-04-07 12:54:23,706 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2022-04-07 12:54:23,706 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:54:23,706 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:54:23,706 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:54:23,707 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:54:23,707 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-07 12:54:23,707 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 39 transitions. [2022-04-07 12:54:23,708 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 39 transitions. Word has length 32 [2022-04-07 12:54:23,708 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:54:23,708 INFO L478 AbstractCegarLoop]: Abstraction has 37 states and 39 transitions. [2022-04-07 12:54:23,708 INFO L479 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-07 12:54:23,708 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 39 transitions. [2022-04-07 12:54:23,709 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-07 12:54:23,709 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:54:23,709 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:54:23,736 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-07 12:54:23,931 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:54:23,932 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:54:23,932 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:54:23,932 INFO L85 PathProgramCache]: Analyzing trace with hash 125050924, now seen corresponding path program 1 times [2022-04-07 12:54:23,932 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:54:23,932 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1148553074] [2022-04-07 12:54:23,933 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:54:23,933 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:54:23,944 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:54:23,944 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [957900095] [2022-04-07 12:54:23,944 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:54:23,944 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:54:23,944 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:54:23,945 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-07 12:54:23,954 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-07 12:54:24,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:54:24,007 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-07 12:54:24,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:54:24,023 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:54:24,423 INFO L272 TraceCheckUtils]: 0: Hoare triple {1232#true} call ULTIMATE.init(); {1232#true} is VALID [2022-04-07 12:54:24,424 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-07 12:54:24,424 INFO L290 TraceCheckUtils]: 2: Hoare triple {1232#true} assume true; {1232#true} is VALID [2022-04-07 12:54:24,424 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1232#true} {1232#true} #69#return; {1232#true} is VALID [2022-04-07 12:54:24,424 INFO L272 TraceCheckUtils]: 4: Hoare triple {1232#true} call #t~ret8 := main(); {1232#true} is VALID [2022-04-07 12:54:24,424 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-07 12:54:24,424 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-07 12:54:24,424 INFO L290 TraceCheckUtils]: 7: Hoare triple {1232#true} ~cond := #in~cond; {1232#true} is VALID [2022-04-07 12:54:24,424 INFO L290 TraceCheckUtils]: 8: Hoare triple {1232#true} assume !(0 == ~cond); {1232#true} is VALID [2022-04-07 12:54:24,424 INFO L290 TraceCheckUtils]: 9: Hoare triple {1232#true} assume true; {1232#true} is VALID [2022-04-07 12:54:24,424 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1232#true} {1232#true} #61#return; {1232#true} is VALID [2022-04-07 12:54:24,425 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-07 12:54:24,425 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-07 12:54:24,425 INFO L290 TraceCheckUtils]: 13: Hoare triple {1232#true} ~cond := #in~cond; {1232#true} is VALID [2022-04-07 12:54:24,425 INFO L290 TraceCheckUtils]: 14: Hoare triple {1232#true} assume !(0 == ~cond); {1232#true} is VALID [2022-04-07 12:54:24,425 INFO L290 TraceCheckUtils]: 15: Hoare triple {1232#true} assume true; {1232#true} is VALID [2022-04-07 12:54:24,425 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1232#true} {1232#true} #63#return; {1232#true} is VALID [2022-04-07 12:54:24,425 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-07 12:54:24,426 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-07 12:54:24,426 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-07 12:54:24,426 INFO L290 TraceCheckUtils]: 20: Hoare triple {1232#true} ~cond := #in~cond; {1232#true} is VALID [2022-04-07 12:54:24,426 INFO L290 TraceCheckUtils]: 21: Hoare triple {1232#true} assume !(0 == ~cond); {1232#true} is VALID [2022-04-07 12:54:24,426 INFO L290 TraceCheckUtils]: 22: Hoare triple {1232#true} assume true; {1232#true} is VALID [2022-04-07 12:54:24,427 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-07 12:54:24,427 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-07 12:54:24,428 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-07 12:54:24,429 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-07 12:54:24,429 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-07 12:54:24,429 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-07 12:54:24,429 INFO L290 TraceCheckUtils]: 29: Hoare triple {1232#true} ~cond := #in~cond; {1329#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:54:24,430 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-07 12:54:24,431 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-07 12:54:24,433 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-07 12:54:24,433 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-07 12:54:24,434 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-07 12:54:24,435 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-07 12:54:24,436 INFO L290 TraceCheckUtils]: 36: Hoare triple {1352#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1356#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:54:24,436 INFO L290 TraceCheckUtils]: 37: Hoare triple {1356#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1233#false} is VALID [2022-04-07 12:54:24,436 INFO L290 TraceCheckUtils]: 38: Hoare triple {1233#false} assume !false; {1233#false} is VALID [2022-04-07 12:54:24,436 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-07 12:54:24,436 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:54:24,991 INFO L290 TraceCheckUtils]: 38: Hoare triple {1233#false} assume !false; {1233#false} is VALID [2022-04-07 12:54:24,991 INFO L290 TraceCheckUtils]: 37: Hoare triple {1356#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1233#false} is VALID [2022-04-07 12:54:24,992 INFO L290 TraceCheckUtils]: 36: Hoare triple {1352#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1356#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:54:24,992 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-07 12:54:24,993 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-07 12:54:24,994 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-07 12:54:24,995 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-07 12:54:24,997 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-07 12:54:24,998 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-07 12:54:24,998 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-07 12:54:24,998 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-07 12:54:24,999 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-07 12:54:25,000 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-07 12:54:25,002 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-07 12:54:25,003 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-07 12:54:25,003 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1232#true} {1232#true} #65#return; {1232#true} is VALID [2022-04-07 12:54:25,003 INFO L290 TraceCheckUtils]: 22: Hoare triple {1232#true} assume true; {1232#true} is VALID [2022-04-07 12:54:25,003 INFO L290 TraceCheckUtils]: 21: Hoare triple {1232#true} assume !(0 == ~cond); {1232#true} is VALID [2022-04-07 12:54:25,003 INFO L290 TraceCheckUtils]: 20: Hoare triple {1232#true} ~cond := #in~cond; {1232#true} is VALID [2022-04-07 12:54:25,003 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-07 12:54:25,004 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-07 12:54:25,004 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-07 12:54:25,004 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1232#true} {1232#true} #63#return; {1232#true} is VALID [2022-04-07 12:54:25,004 INFO L290 TraceCheckUtils]: 15: Hoare triple {1232#true} assume true; {1232#true} is VALID [2022-04-07 12:54:25,004 INFO L290 TraceCheckUtils]: 14: Hoare triple {1232#true} assume !(0 == ~cond); {1232#true} is VALID [2022-04-07 12:54:25,004 INFO L290 TraceCheckUtils]: 13: Hoare triple {1232#true} ~cond := #in~cond; {1232#true} is VALID [2022-04-07 12:54:25,004 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-07 12:54:25,004 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-07 12:54:25,004 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1232#true} {1232#true} #61#return; {1232#true} is VALID [2022-04-07 12:54:25,004 INFO L290 TraceCheckUtils]: 9: Hoare triple {1232#true} assume true; {1232#true} is VALID [2022-04-07 12:54:25,004 INFO L290 TraceCheckUtils]: 8: Hoare triple {1232#true} assume !(0 == ~cond); {1232#true} is VALID [2022-04-07 12:54:25,004 INFO L290 TraceCheckUtils]: 7: Hoare triple {1232#true} ~cond := #in~cond; {1232#true} is VALID [2022-04-07 12:54:25,005 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-07 12:54:25,005 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-07 12:54:25,005 INFO L272 TraceCheckUtils]: 4: Hoare triple {1232#true} call #t~ret8 := main(); {1232#true} is VALID [2022-04-07 12:54:25,005 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1232#true} {1232#true} #69#return; {1232#true} is VALID [2022-04-07 12:54:25,005 INFO L290 TraceCheckUtils]: 2: Hoare triple {1232#true} assume true; {1232#true} is VALID [2022-04-07 12:54:25,005 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-07 12:54:25,005 INFO L272 TraceCheckUtils]: 0: Hoare triple {1232#true} call ULTIMATE.init(); {1232#true} is VALID [2022-04-07 12:54:25,005 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-07 12:54:25,005 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:54:25,005 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1148553074] [2022-04-07 12:54:25,005 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:54:25,006 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [957900095] [2022-04-07 12:54:25,006 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [957900095] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:54:25,006 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:54:25,006 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-07 12:54:25,006 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [587203052] [2022-04-07 12:54:25,006 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:54:25,006 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-07 12:54:25,007 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:54:25,007 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-07 12:54:25,043 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-07 12:54:25,043 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-07 12:54:25,043 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:54:25,044 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-07 12:54:25,044 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=389, Unknown=0, NotChecked=0, Total=462 [2022-04-07 12:54:25,044 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-07 12:54:26,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:54:26,083 INFO L93 Difference]: Finished difference Result 56 states and 62 transitions. [2022-04-07 12:54:26,083 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-07 12:54:26,084 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-07 12:54:26,084 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:54:26,084 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-07 12:54:26,085 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 60 transitions. [2022-04-07 12:54:26,085 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-07 12:54:26,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 60 transitions. [2022-04-07 12:54:26,087 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 60 transitions. [2022-04-07 12:54:26,149 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-07 12:54:26,150 INFO L225 Difference]: With dead ends: 56 [2022-04-07 12:54:26,150 INFO L226 Difference]: Without dead ends: 48 [2022-04-07 12:54:26,150 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 57 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 250 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=206, Invalid=1054, Unknown=0, NotChecked=0, Total=1260 [2022-04-07 12:54:26,151 INFO L913 BasicCegarLoop]: 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-07 12:54:26,151 INFO L914 BasicCegarLoop]: 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-07 12:54:26,151 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-07 12:54:26,172 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 41. [2022-04-07 12:54:26,172 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:54:26,172 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-07 12:54:26,173 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-07 12:54:26,173 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-07 12:54:26,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:54:26,174 INFO L93 Difference]: Finished difference Result 48 states and 53 transitions. [2022-04-07 12:54:26,174 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2022-04-07 12:54:26,174 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:54:26,175 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:54:26,175 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-07 12:54:26,175 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-07 12:54:26,176 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:54:26,176 INFO L93 Difference]: Finished difference Result 48 states and 53 transitions. [2022-04-07 12:54:26,176 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2022-04-07 12:54:26,176 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:54:26,176 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:54:26,177 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:54:26,177 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:54:26,177 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-07 12:54:26,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 44 transitions. [2022-04-07 12:54:26,178 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 44 transitions. Word has length 39 [2022-04-07 12:54:26,178 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:54:26,178 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 44 transitions. [2022-04-07 12:54:26,178 INFO L479 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-07 12:54:26,178 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 44 transitions. [2022-04-07 12:54:26,179 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-07 12:54:26,179 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:54:26,179 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:54:26,207 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-07 12:54:26,395 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:54:26,395 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:54:26,396 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:54:26,396 INFO L85 PathProgramCache]: Analyzing trace with hash -143142008, now seen corresponding path program 1 times [2022-04-07 12:54:26,396 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:54:26,396 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2084120729] [2022-04-07 12:54:26,396 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:54:26,396 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:54:26,407 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:54:26,407 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [224660975] [2022-04-07 12:54:26,407 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:54:26,407 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:54:26,407 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:54:26,424 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-07 12:54:26,425 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-07 12:54:26,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:54:26,459 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-07 12:54:26,469 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:54:26,470 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:54:30,703 INFO L272 TraceCheckUtils]: 0: Hoare triple {1748#true} call ULTIMATE.init(); {1748#true} is VALID [2022-04-07 12:54:30,704 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-07 12:54:30,704 INFO L290 TraceCheckUtils]: 2: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-07 12:54:30,704 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1748#true} {1748#true} #69#return; {1748#true} is VALID [2022-04-07 12:54:30,704 INFO L272 TraceCheckUtils]: 4: Hoare triple {1748#true} call #t~ret8 := main(); {1748#true} is VALID [2022-04-07 12:54:30,704 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-07 12:54:30,704 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-07 12:54:30,704 INFO L290 TraceCheckUtils]: 7: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-07 12:54:30,704 INFO L290 TraceCheckUtils]: 8: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-07 12:54:30,704 INFO L290 TraceCheckUtils]: 9: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-07 12:54:30,705 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1748#true} {1748#true} #61#return; {1748#true} is VALID [2022-04-07 12:54:30,709 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-07 12:54:30,709 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-07 12:54:30,709 INFO L290 TraceCheckUtils]: 13: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-07 12:54:30,710 INFO L290 TraceCheckUtils]: 14: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-07 12:54:30,710 INFO L290 TraceCheckUtils]: 15: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-07 12:54:30,710 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1748#true} {1748#true} #63#return; {1748#true} is VALID [2022-04-07 12:54:30,715 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-07 12:54:30,717 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-07 12:54:30,717 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-07 12:54:30,717 INFO L290 TraceCheckUtils]: 20: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-07 12:54:30,717 INFO L290 TraceCheckUtils]: 21: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-07 12:54:30,717 INFO L290 TraceCheckUtils]: 22: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-07 12:54:30,719 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-07 12:54:30,722 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-07 12:54:30,723 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-07 12:54:30,724 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-07 12:54:30,724 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-07 12:54:30,724 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-07 12:54:30,724 INFO L290 TraceCheckUtils]: 29: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-07 12:54:30,725 INFO L290 TraceCheckUtils]: 30: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-07 12:54:30,725 INFO L290 TraceCheckUtils]: 31: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-07 12:54:30,725 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-07 12:54:30,726 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-07 12:54:30,726 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-07 12:54:30,728 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-07 12:54:30,729 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-07 12:54:30,729 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-07 12:54:30,729 INFO L290 TraceCheckUtils]: 38: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-07 12:54:30,729 INFO L290 TraceCheckUtils]: 39: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-07 12:54:30,729 INFO L290 TraceCheckUtils]: 40: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-07 12:54:30,730 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-07 12:54:30,730 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-07 12:54:30,730 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-07 12:54:30,730 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-07 12:54:30,730 INFO L290 TraceCheckUtils]: 45: Hoare triple {1749#false} ~cond := #in~cond; {1749#false} is VALID [2022-04-07 12:54:30,731 INFO L290 TraceCheckUtils]: 46: Hoare triple {1749#false} assume 0 == ~cond; {1749#false} is VALID [2022-04-07 12:54:30,731 INFO L290 TraceCheckUtils]: 47: Hoare triple {1749#false} assume !false; {1749#false} is VALID [2022-04-07 12:54:30,732 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-07 12:54:30,732 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:54:31,063 INFO L290 TraceCheckUtils]: 47: Hoare triple {1749#false} assume !false; {1749#false} is VALID [2022-04-07 12:54:31,063 INFO L290 TraceCheckUtils]: 46: Hoare triple {1749#false} assume 0 == ~cond; {1749#false} is VALID [2022-04-07 12:54:31,063 INFO L290 TraceCheckUtils]: 45: Hoare triple {1749#false} ~cond := #in~cond; {1749#false} is VALID [2022-04-07 12:54:31,063 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-07 12:54:31,063 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-07 12:54:31,064 INFO L290 TraceCheckUtils]: 42: Hoare triple {1914#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {1749#false} is VALID [2022-04-07 12:54:31,064 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-07 12:54:31,064 INFO L290 TraceCheckUtils]: 40: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-07 12:54:31,064 INFO L290 TraceCheckUtils]: 39: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-07 12:54:31,065 INFO L290 TraceCheckUtils]: 38: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-07 12:54:31,065 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-07 12:54:31,065 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-07 12:54:31,066 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-07 12:54:31,066 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-07 12:54:31,067 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-07 12:54:31,067 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-07 12:54:31,068 INFO L290 TraceCheckUtils]: 31: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-07 12:54:31,068 INFO L290 TraceCheckUtils]: 30: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-07 12:54:31,068 INFO L290 TraceCheckUtils]: 29: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-07 12:54:31,068 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-07 12:54:31,068 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-07 12:54:31,069 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-07 12:54:31,070 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-07 12:54:31,070 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-07 12:54:31,071 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-07 12:54:31,071 INFO L290 TraceCheckUtils]: 22: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-07 12:54:31,072 INFO L290 TraceCheckUtils]: 21: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-07 12:54:31,072 INFO L290 TraceCheckUtils]: 20: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-07 12:54:31,072 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-07 12:54:31,073 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-07 12:54:31,074 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-07 12:54:31,074 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1748#true} {1748#true} #63#return; {1748#true} is VALID [2022-04-07 12:54:31,074 INFO L290 TraceCheckUtils]: 15: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-07 12:54:31,074 INFO L290 TraceCheckUtils]: 14: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-07 12:54:31,074 INFO L290 TraceCheckUtils]: 13: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-07 12:54:31,074 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-07 12:54:31,074 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-07 12:54:31,075 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1748#true} {1748#true} #61#return; {1748#true} is VALID [2022-04-07 12:54:31,075 INFO L290 TraceCheckUtils]: 9: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-07 12:54:31,075 INFO L290 TraceCheckUtils]: 8: Hoare triple {1748#true} assume !(0 == ~cond); {1748#true} is VALID [2022-04-07 12:54:31,075 INFO L290 TraceCheckUtils]: 7: Hoare triple {1748#true} ~cond := #in~cond; {1748#true} is VALID [2022-04-07 12:54:31,075 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-07 12:54:31,075 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-07 12:54:31,075 INFO L272 TraceCheckUtils]: 4: Hoare triple {1748#true} call #t~ret8 := main(); {1748#true} is VALID [2022-04-07 12:54:31,075 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1748#true} {1748#true} #69#return; {1748#true} is VALID [2022-04-07 12:54:31,075 INFO L290 TraceCheckUtils]: 2: Hoare triple {1748#true} assume true; {1748#true} is VALID [2022-04-07 12:54:31,075 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-07 12:54:31,076 INFO L272 TraceCheckUtils]: 0: Hoare triple {1748#true} call ULTIMATE.init(); {1748#true} is VALID [2022-04-07 12:54:31,076 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-07 12:54:31,076 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:54:31,076 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2084120729] [2022-04-07 12:54:31,076 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:54:31,076 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [224660975] [2022-04-07 12:54:31,076 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [224660975] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:54:31,076 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:54:31,077 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-07 12:54:31,077 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [850505686] [2022-04-07 12:54:31,077 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:54:31,077 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-07 12:54:31,078 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:54:31,078 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-07 12:54:31,124 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-07 12:54:31,125 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-07 12:54:31,125 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:54:31,125 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-07 12:54:31,125 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-07 12:54:31,126 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-07 12:54:31,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:54:31,576 INFO L93 Difference]: Finished difference Result 59 states and 66 transitions. [2022-04-07 12:54:31,577 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-07 12:54:31,577 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-07 12:54:31,577 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:54:31,577 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-07 12:54:31,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 56 transitions. [2022-04-07 12:54:31,578 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-07 12:54:31,579 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 56 transitions. [2022-04-07 12:54:31,579 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 56 transitions. [2022-04-07 12:54:31,620 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-07 12:54:31,621 INFO L225 Difference]: With dead ends: 59 [2022-04-07 12:54:31,621 INFO L226 Difference]: Without dead ends: 53 [2022-04-07 12:54:31,622 INFO L912 BasicCegarLoop]: 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-07 12:54:31,622 INFO L913 BasicCegarLoop]: 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-07 12:54:31,622 INFO L914 BasicCegarLoop]: 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-07 12:54:31,623 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-07 12:54:31,650 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 46. [2022-04-07 12:54:31,651 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:54:31,652 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-07 12:54:31,653 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-07 12:54:31,653 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-07 12:54:31,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:54:31,656 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2022-04-07 12:54:31,656 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 60 transitions. [2022-04-07 12:54:31,656 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:54:31,656 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:54:31,656 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-07 12:54:31,657 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-07 12:54:31,659 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:54:31,659 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2022-04-07 12:54:31,659 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 60 transitions. [2022-04-07 12:54:31,659 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:54:31,659 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:54:31,659 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:54:31,659 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:54:31,660 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-07 12:54:31,660 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 51 transitions. [2022-04-07 12:54:31,661 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 51 transitions. Word has length 48 [2022-04-07 12:54:31,661 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:54:31,661 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 51 transitions. [2022-04-07 12:54:31,661 INFO L479 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-07 12:54:31,661 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-04-07 12:54:31,671 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-07 12:54:31,671 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:54:31,671 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:54:31,688 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-07 12:54:31,888 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:54:31,888 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:54:31,888 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:54:31,888 INFO L85 PathProgramCache]: Analyzing trace with hash 2136090540, now seen corresponding path program 2 times [2022-04-07 12:54:31,889 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:54:31,889 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2003764395] [2022-04-07 12:54:31,889 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:54:31,889 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:54:31,908 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:54:31,909 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [627001709] [2022-04-07 12:54:31,909 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 12:54:31,909 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:54:31,909 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:54:31,910 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-07 12:54:31,927 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-07 12:54:31,955 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 12:54:31,955 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 12:54:31,955 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-07 12:54:31,970 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:54:31,973 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:54:32,398 INFO L272 TraceCheckUtils]: 0: Hoare triple {2306#true} call ULTIMATE.init(); {2306#true} is VALID [2022-04-07 12:54:32,398 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-07 12:54:32,398 INFO L290 TraceCheckUtils]: 2: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-07 12:54:32,398 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2306#true} {2306#true} #69#return; {2306#true} is VALID [2022-04-07 12:54:32,398 INFO L272 TraceCheckUtils]: 4: Hoare triple {2306#true} call #t~ret8 := main(); {2306#true} is VALID [2022-04-07 12:54:32,398 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-07 12:54:32,398 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-07 12:54:32,398 INFO L290 TraceCheckUtils]: 7: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-07 12:54:32,398 INFO L290 TraceCheckUtils]: 8: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-07 12:54:32,399 INFO L290 TraceCheckUtils]: 9: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-07 12:54:32,399 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2306#true} {2306#true} #61#return; {2306#true} is VALID [2022-04-07 12:54:32,399 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-07 12:54:32,399 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-07 12:54:32,399 INFO L290 TraceCheckUtils]: 13: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-07 12:54:32,399 INFO L290 TraceCheckUtils]: 14: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-07 12:54:32,399 INFO L290 TraceCheckUtils]: 15: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-07 12:54:32,399 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2306#true} {2306#true} #63#return; {2306#true} is VALID [2022-04-07 12:54:32,399 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-07 12:54:32,400 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-07 12:54:32,400 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-07 12:54:32,400 INFO L290 TraceCheckUtils]: 20: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-07 12:54:32,400 INFO L290 TraceCheckUtils]: 21: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-07 12:54:32,400 INFO L290 TraceCheckUtils]: 22: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-07 12:54:32,401 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-07 12:54:32,401 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-07 12:54:32,402 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-07 12:54:32,402 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-07 12:54:32,402 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-07 12:54:32,402 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-07 12:54:32,403 INFO L290 TraceCheckUtils]: 29: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-07 12:54:32,403 INFO L290 TraceCheckUtils]: 30: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-07 12:54:32,403 INFO L290 TraceCheckUtils]: 31: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-07 12:54:32,403 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-07 12:54:32,404 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-07 12:54:32,404 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-07 12:54:32,404 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-07 12:54:32,405 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-07 12:54:32,405 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-07 12:54:32,405 INFO L290 TraceCheckUtils]: 38: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-07 12:54:32,405 INFO L290 TraceCheckUtils]: 39: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-07 12:54:32,405 INFO L290 TraceCheckUtils]: 40: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-07 12:54:32,406 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-07 12:54:32,406 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-07 12:54:32,407 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-07 12:54:32,407 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-07 12:54:32,407 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-07 12:54:32,407 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-07 12:54:32,407 INFO L290 TraceCheckUtils]: 47: Hoare triple {2307#false} ~cond := #in~cond; {2307#false} is VALID [2022-04-07 12:54:32,407 INFO L290 TraceCheckUtils]: 48: Hoare triple {2307#false} assume !(0 == ~cond); {2307#false} is VALID [2022-04-07 12:54:32,407 INFO L290 TraceCheckUtils]: 49: Hoare triple {2307#false} assume true; {2307#false} is VALID [2022-04-07 12:54:32,407 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2307#false} {2307#false} #65#return; {2307#false} is VALID [2022-04-07 12:54:32,407 INFO L290 TraceCheckUtils]: 51: Hoare triple {2307#false} assume !(~x~0 <= ~X~0); {2307#false} is VALID [2022-04-07 12:54:32,407 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-07 12:54:32,407 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-07 12:54:32,407 INFO L290 TraceCheckUtils]: 54: Hoare triple {2307#false} ~cond := #in~cond; {2307#false} is VALID [2022-04-07 12:54:32,408 INFO L290 TraceCheckUtils]: 55: Hoare triple {2307#false} assume 0 == ~cond; {2307#false} is VALID [2022-04-07 12:54:32,408 INFO L290 TraceCheckUtils]: 56: Hoare triple {2307#false} assume !false; {2307#false} is VALID [2022-04-07 12:54:32,408 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-07 12:54:32,408 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:54:32,886 INFO L290 TraceCheckUtils]: 56: Hoare triple {2307#false} assume !false; {2307#false} is VALID [2022-04-07 12:54:32,887 INFO L290 TraceCheckUtils]: 55: Hoare triple {2307#false} assume 0 == ~cond; {2307#false} is VALID [2022-04-07 12:54:32,887 INFO L290 TraceCheckUtils]: 54: Hoare triple {2307#false} ~cond := #in~cond; {2307#false} is VALID [2022-04-07 12:54:32,887 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-07 12:54:32,887 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-07 12:54:32,887 INFO L290 TraceCheckUtils]: 51: Hoare triple {2307#false} assume !(~x~0 <= ~X~0); {2307#false} is VALID [2022-04-07 12:54:32,887 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2306#true} {2307#false} #65#return; {2307#false} is VALID [2022-04-07 12:54:32,887 INFO L290 TraceCheckUtils]: 49: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-07 12:54:32,887 INFO L290 TraceCheckUtils]: 48: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-07 12:54:32,887 INFO L290 TraceCheckUtils]: 47: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-07 12:54:32,887 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-07 12:54:32,887 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-07 12:54:32,887 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-07 12:54:32,888 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-07 12:54:32,888 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-07 12:54:32,889 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-07 12:54:32,889 INFO L290 TraceCheckUtils]: 40: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-07 12:54:32,889 INFO L290 TraceCheckUtils]: 39: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-07 12:54:32,889 INFO L290 TraceCheckUtils]: 38: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-07 12:54:32,889 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-07 12:54:32,890 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-07 12:54:32,890 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-07 12:54:32,890 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-07 12:54:32,891 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-07 12:54:32,891 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-07 12:54:32,891 INFO L290 TraceCheckUtils]: 31: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-07 12:54:32,892 INFO L290 TraceCheckUtils]: 30: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-07 12:54:32,892 INFO L290 TraceCheckUtils]: 29: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-07 12:54:32,892 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-07 12:54:32,914 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-07 12:54:32,914 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-07 12:54:32,915 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-07 12:54:32,916 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-07 12:54:32,916 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-07 12:54:32,916 INFO L290 TraceCheckUtils]: 22: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-07 12:54:32,916 INFO L290 TraceCheckUtils]: 21: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-07 12:54:32,917 INFO L290 TraceCheckUtils]: 20: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-07 12:54:32,917 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-07 12:54:32,917 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-07 12:54:32,918 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-07 12:54:32,918 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2306#true} {2306#true} #63#return; {2306#true} is VALID [2022-04-07 12:54:32,918 INFO L290 TraceCheckUtils]: 15: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-07 12:54:32,918 INFO L290 TraceCheckUtils]: 14: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-07 12:54:32,918 INFO L290 TraceCheckUtils]: 13: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-07 12:54:32,918 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-07 12:54:32,918 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-07 12:54:32,918 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2306#true} {2306#true} #61#return; {2306#true} is VALID [2022-04-07 12:54:32,918 INFO L290 TraceCheckUtils]: 9: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-07 12:54:32,918 INFO L290 TraceCheckUtils]: 8: Hoare triple {2306#true} assume !(0 == ~cond); {2306#true} is VALID [2022-04-07 12:54:32,918 INFO L290 TraceCheckUtils]: 7: Hoare triple {2306#true} ~cond := #in~cond; {2306#true} is VALID [2022-04-07 12:54:32,918 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-07 12:54:32,919 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-07 12:54:32,919 INFO L272 TraceCheckUtils]: 4: Hoare triple {2306#true} call #t~ret8 := main(); {2306#true} is VALID [2022-04-07 12:54:32,919 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2306#true} {2306#true} #69#return; {2306#true} is VALID [2022-04-07 12:54:32,919 INFO L290 TraceCheckUtils]: 2: Hoare triple {2306#true} assume true; {2306#true} is VALID [2022-04-07 12:54:32,919 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-07 12:54:32,919 INFO L272 TraceCheckUtils]: 0: Hoare triple {2306#true} call ULTIMATE.init(); {2306#true} is VALID [2022-04-07 12:54:32,919 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-07 12:54:32,919 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:54:32,919 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2003764395] [2022-04-07 12:54:32,919 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:54:32,919 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [627001709] [2022-04-07 12:54:32,920 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [627001709] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:54:32,920 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:54:32,920 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 6 [2022-04-07 12:54:32,920 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1492727825] [2022-04-07 12:54:32,920 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:54:32,920 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-07 12:54:32,921 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:54:32,921 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-07 12:54:32,958 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-07 12:54:32,958 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-07 12:54:32,958 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:54:32,959 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-07 12:54:32,959 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-04-07 12:54:32,959 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-07 12:54:33,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:54:33,215 INFO L93 Difference]: Finished difference Result 81 states and 94 transitions. [2022-04-07 12:54:33,215 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-07 12:54:33,215 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-07 12:54:33,215 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:54:33,215 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-07 12:54:33,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-04-07 12:54:33,216 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-07 12:54:33,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-04-07 12:54:33,217 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 74 transitions. [2022-04-07 12:54:33,268 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-07 12:54:33,269 INFO L225 Difference]: With dead ends: 81 [2022-04-07 12:54:33,269 INFO L226 Difference]: Without dead ends: 62 [2022-04-07 12:54:33,269 INFO L912 BasicCegarLoop]: 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-07 12:54:33,269 INFO L913 BasicCegarLoop]: 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-07 12:54:33,270 INFO L914 BasicCegarLoop]: 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-07 12:54:33,270 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2022-04-07 12:54:33,326 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 60. [2022-04-07 12:54:33,326 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:54:33,327 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-07 12:54:33,327 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-07 12:54:33,327 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-07 12:54:33,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:54:33,328 INFO L93 Difference]: Finished difference Result 62 states and 72 transitions. [2022-04-07 12:54:33,329 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 72 transitions. [2022-04-07 12:54:33,329 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:54:33,329 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:54:33,329 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-07 12:54:33,330 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-07 12:54:33,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:54:33,331 INFO L93 Difference]: Finished difference Result 62 states and 72 transitions. [2022-04-07 12:54:33,331 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 72 transitions. [2022-04-07 12:54:33,332 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:54:33,332 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:54:33,332 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:54:33,332 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:54:33,332 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-07 12:54:33,344 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 70 transitions. [2022-04-07 12:54:33,344 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 70 transitions. Word has length 57 [2022-04-07 12:54:33,344 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:54:33,344 INFO L478 AbstractCegarLoop]: Abstraction has 60 states and 70 transitions. [2022-04-07 12:54:33,344 INFO L479 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-07 12:54:33,345 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 70 transitions. [2022-04-07 12:54:33,345 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-07 12:54:33,345 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:54:33,345 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:54:33,376 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-07 12:54:33,559 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:54:33,560 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:54:33,560 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:54:33,560 INFO L85 PathProgramCache]: Analyzing trace with hash 330652206, now seen corresponding path program 3 times [2022-04-07 12:54:33,560 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:54:33,560 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [200808244] [2022-04-07 12:54:33,560 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:54:33,560 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:54:33,580 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:54:33,580 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [518728262] [2022-04-07 12:54:33,580 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-07 12:54:33,580 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:54:33,580 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:54:33,581 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-07 12:54:33,582 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-07 12:54:33,641 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2022-04-07 12:54:33,641 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 12:54:33,642 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-07 12:54:33,666 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:54:33,667 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:54:48,930 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 12:54:54,782 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 12:55:00,802 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 12:55:44,325 INFO L272 TraceCheckUtils]: 0: Hoare triple {2980#true} call ULTIMATE.init(); {2980#true} is VALID [2022-04-07 12:55:44,326 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-07 12:55:44,326 INFO L290 TraceCheckUtils]: 2: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-07 12:55:44,326 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2980#true} {2980#true} #69#return; {2980#true} is VALID [2022-04-07 12:55:44,326 INFO L272 TraceCheckUtils]: 4: Hoare triple {2980#true} call #t~ret8 := main(); {2980#true} is VALID [2022-04-07 12:55:44,326 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-07 12:55:44,326 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-07 12:55:44,326 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-07 12:55:44,327 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-07 12:55:44,327 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-07 12:55:44,328 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-07 12:55:44,328 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-07 12:55:44,328 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-07 12:55:44,328 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-07 12:55:44,329 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-07 12:55:44,329 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-07 12:55:44,330 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-07 12:55:44,330 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-07 12:55:44,330 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-07 12:55:44,330 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-07 12:55:44,331 INFO L290 TraceCheckUtils]: 20: Hoare triple {2980#true} ~cond := #in~cond; {2980#true} is VALID [2022-04-07 12:55:44,331 INFO L290 TraceCheckUtils]: 21: Hoare triple {2980#true} assume !(0 == ~cond); {2980#true} is VALID [2022-04-07 12:55:44,331 INFO L290 TraceCheckUtils]: 22: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-07 12:55:44,331 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-07 12:55:44,332 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-07 12:55:44,332 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-07 12:55:44,332 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-07 12:55:44,333 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-07 12:55:44,333 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-07 12:55:44,333 INFO L290 TraceCheckUtils]: 29: Hoare triple {2980#true} ~cond := #in~cond; {2980#true} is VALID [2022-04-07 12:55:44,333 INFO L290 TraceCheckUtils]: 30: Hoare triple {2980#true} assume !(0 == ~cond); {2980#true} is VALID [2022-04-07 12:55:44,333 INFO L290 TraceCheckUtils]: 31: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-07 12:55:44,334 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-07 12:55:44,334 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-07 12:55:44,334 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-07 12:55:44,335 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-07 12:55:44,335 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-07 12:55:44,335 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-07 12:55:44,335 INFO L290 TraceCheckUtils]: 38: Hoare triple {2980#true} ~cond := #in~cond; {2980#true} is VALID [2022-04-07 12:55:44,335 INFO L290 TraceCheckUtils]: 39: Hoare triple {2980#true} assume !(0 == ~cond); {2980#true} is VALID [2022-04-07 12:55:44,336 INFO L290 TraceCheckUtils]: 40: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-07 12:55:44,336 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-07 12:55:44,336 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-07 12:55:44,337 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-07 12:55:44,338 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-07 12:55:44,338 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-07 12:55:44,338 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-07 12:55:44,339 INFO L290 TraceCheckUtils]: 47: Hoare triple {2980#true} ~cond := #in~cond; {3134#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:55:44,339 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-07 12:55:44,339 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-07 12:55:44,340 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-07 12:55:44,341 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-07 12:55:44,355 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-07 12:55:44,366 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-07 12:55:44,366 INFO L290 TraceCheckUtils]: 54: Hoare triple {3157#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3161#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:55:44,367 INFO L290 TraceCheckUtils]: 55: Hoare triple {3161#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2981#false} is VALID [2022-04-07 12:55:44,367 INFO L290 TraceCheckUtils]: 56: Hoare triple {2981#false} assume !false; {2981#false} is VALID [2022-04-07 12:55:44,367 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-07 12:55:44,367 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:55:50,272 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 12:55:57,858 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 12:56:56,972 INFO L290 TraceCheckUtils]: 56: Hoare triple {2981#false} assume !false; {2981#false} is VALID [2022-04-07 12:56:56,973 INFO L290 TraceCheckUtils]: 55: Hoare triple {3161#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2981#false} is VALID [2022-04-07 12:56:56,973 INFO L290 TraceCheckUtils]: 54: Hoare triple {3157#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3161#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:56:56,974 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-07 12:56:56,975 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-07 12:56:56,975 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-07 12:56:56,976 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-07 12:56:56,976 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-07 12:56:56,977 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-07 12:56:56,977 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-07 12:56:56,977 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-07 12:56:58,980 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-07 12:56:58,993 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-07 12:57:01,554 WARN L290 TraceCheckUtils]: 43: Hoare triple {3214#(forall ((v_main_~x~0_25 Int)) (or (and (or (forall ((aux_div_aux_mod_v_main_~v~0_32_40_77 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 (forall ((aux_div_v_main_~v~0_32_40 Int)) (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))))) (<= (+ aux_div_aux_mod_v_main_~v~0_32_40_77 main_~Y~0 (div (- main_~X~0) (- 2))) 0)) (or (forall ((aux_div_v_main_~v~0_32_40 Int)) (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))))) (<= (+ aux_div_aux_mod_v_main_~v~0_32_40_77 main_~Y~0 (div (- main_~X~0) (- 2))) 0))))) (= main_~X~0 0)) (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)))))) (<= v_main_~x~0_25 main_~X~0) (not (<= v_main_~x~0_25 (+ main_~x~0 1)))))} 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-07 12:57:02,034 INFO L290 TraceCheckUtils]: 42: Hoare triple {2980#true} assume !!(~x~0 <= ~X~0); {3214#(forall ((v_main_~x~0_25 Int)) (or (and (or (forall ((aux_div_aux_mod_v_main_~v~0_32_40_77 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 (forall ((aux_div_v_main_~v~0_32_40 Int)) (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))))) (<= (+ aux_div_aux_mod_v_main_~v~0_32_40_77 main_~Y~0 (div (- main_~X~0) (- 2))) 0)) (or (forall ((aux_div_v_main_~v~0_32_40 Int)) (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))))) (<= (+ aux_div_aux_mod_v_main_~v~0_32_40_77 main_~Y~0 (div (- main_~X~0) (- 2))) 0))))) (= main_~X~0 0)) (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)))))) (<= v_main_~x~0_25 main_~X~0) (not (<= v_main_~x~0_25 (+ main_~x~0 1)))))} is VALID [2022-04-07 12:57:02,035 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2980#true} {2980#true} #65#return; {2980#true} is VALID [2022-04-07 12:57:02,035 INFO L290 TraceCheckUtils]: 40: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-07 12:57:02,035 INFO L290 TraceCheckUtils]: 39: Hoare triple {2980#true} assume !(0 == ~cond); {2980#true} is VALID [2022-04-07 12:57:02,035 INFO L290 TraceCheckUtils]: 38: Hoare triple {2980#true} ~cond := #in~cond; {2980#true} is VALID [2022-04-07 12:57:02,035 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-07 12:57:02,035 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-07 12:57:02,035 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-07 12:57:02,035 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-07 12:57:02,035 INFO L290 TraceCheckUtils]: 33: Hoare triple {2980#true} assume !!(~x~0 <= ~X~0); {2980#true} is VALID [2022-04-07 12:57:02,035 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2980#true} {2980#true} #65#return; {2980#true} is VALID [2022-04-07 12:57:02,035 INFO L290 TraceCheckUtils]: 31: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-07 12:57:02,035 INFO L290 TraceCheckUtils]: 30: Hoare triple {2980#true} assume !(0 == ~cond); {2980#true} is VALID [2022-04-07 12:57:02,035 INFO L290 TraceCheckUtils]: 29: Hoare triple {2980#true} ~cond := #in~cond; {2980#true} is VALID [2022-04-07 12:57:02,036 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-07 12:57:02,036 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-07 12:57:02,036 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-07 12:57:02,036 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-07 12:57:02,036 INFO L290 TraceCheckUtils]: 24: Hoare triple {2980#true} assume !!(~x~0 <= ~X~0); {2980#true} is VALID [2022-04-07 12:57:02,036 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2980#true} {2980#true} #65#return; {2980#true} is VALID [2022-04-07 12:57:02,036 INFO L290 TraceCheckUtils]: 22: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-07 12:57:02,036 INFO L290 TraceCheckUtils]: 21: Hoare triple {2980#true} assume !(0 == ~cond); {2980#true} is VALID [2022-04-07 12:57:02,036 INFO L290 TraceCheckUtils]: 20: Hoare triple {2980#true} ~cond := #in~cond; {2980#true} is VALID [2022-04-07 12:57:02,036 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-07 12:57:02,036 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-07 12:57:02,036 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-07 12:57:02,036 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2980#true} {2980#true} #63#return; {2980#true} is VALID [2022-04-07 12:57:02,036 INFO L290 TraceCheckUtils]: 15: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-07 12:57:02,036 INFO L290 TraceCheckUtils]: 14: Hoare triple {2980#true} assume !(0 == ~cond); {2980#true} is VALID [2022-04-07 12:57:02,037 INFO L290 TraceCheckUtils]: 13: Hoare triple {2980#true} ~cond := #in~cond; {2980#true} is VALID [2022-04-07 12:57:02,037 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-07 12:57:02,037 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-07 12:57:02,037 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2980#true} {2980#true} #61#return; {2980#true} is VALID [2022-04-07 12:57:02,037 INFO L290 TraceCheckUtils]: 9: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-07 12:57:02,037 INFO L290 TraceCheckUtils]: 8: Hoare triple {2980#true} assume !(0 == ~cond); {2980#true} is VALID [2022-04-07 12:57:02,037 INFO L290 TraceCheckUtils]: 7: Hoare triple {2980#true} ~cond := #in~cond; {2980#true} is VALID [2022-04-07 12:57:02,037 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-07 12:57:02,037 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-07 12:57:02,037 INFO L272 TraceCheckUtils]: 4: Hoare triple {2980#true} call #t~ret8 := main(); {2980#true} is VALID [2022-04-07 12:57:02,037 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2980#true} {2980#true} #69#return; {2980#true} is VALID [2022-04-07 12:57:02,037 INFO L290 TraceCheckUtils]: 2: Hoare triple {2980#true} assume true; {2980#true} is VALID [2022-04-07 12:57:02,037 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-07 12:57:02,037 INFO L272 TraceCheckUtils]: 0: Hoare triple {2980#true} call ULTIMATE.init(); {2980#true} is VALID [2022-04-07 12:57:02,038 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-07 12:57:02,038 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:57:02,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [200808244] [2022-04-07 12:57:02,038 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:57:02,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [518728262] [2022-04-07 12:57:02,038 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [518728262] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:57:02,038 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:57:02,038 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 13] total 25 [2022-04-07 12:57:02,038 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1652555808] [2022-04-07 12:57:02,038 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:57:02,039 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-07 12:57:02,039 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:57:02,039 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-07 12:57:06,802 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 62 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-07 12:57:06,802 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-04-07 12:57:06,802 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:57:06,802 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-04-07 12:57:06,803 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=98, Invalid=497, Unknown=5, NotChecked=0, Total=600 [2022-04-07 12:57:06,803 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-07 12:57:14,111 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 12:57:19,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:57:19,318 INFO L93 Difference]: Finished difference Result 62 states and 73 transitions. [2022-04-07 12:57:19,318 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-07 12:57:19,318 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-07 12:57:19,318 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:57:19,319 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-07 12:57:19,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 44 transitions. [2022-04-07 12:57:19,320 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-07 12:57:19,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 44 transitions. [2022-04-07 12:57:19,320 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 44 transitions. [2022-04-07 12:57:19,389 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-07 12:57:19,389 INFO L225 Difference]: With dead ends: 62 [2022-04-07 12:57:19,389 INFO L226 Difference]: Without dead ends: 0 [2022-04-07 12:57:19,390 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 90 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 262 ImplicationChecksByTransitivity, 19.6s TimeCoverageRelationStatistics Valid=219, Invalid=1036, Unknown=5, NotChecked=0, Total=1260 [2022-04-07 12:57:19,390 INFO L913 BasicCegarLoop]: 16 mSDtfsCounter, 26 mSDsluCounter, 124 mSDsCounter, 0 mSdLazyCounter, 266 mSolverCounterSat, 21 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 361 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 266 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 73 IncrementalHoareTripleChecker+Unchecked, 4.9s IncrementalHoareTripleChecker+Time [2022-04-07 12:57:19,390 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 140 Invalid, 361 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 266 Invalid, 1 Unknown, 73 Unchecked, 4.9s Time] [2022-04-07 12:57:19,391 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-07 12:57:19,391 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-07 12:57:19,391 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:57:19,391 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-07 12:57:19,391 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-07 12:57:19,391 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-07 12:57:19,391 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:57:19,391 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-07 12:57:19,391 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-07 12:57:19,391 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:57:19,391 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:57:19,392 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-07 12:57:19,392 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-07 12:57:19,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:57:19,392 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-07 12:57:19,392 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-07 12:57:19,392 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:57:19,392 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:57:19,392 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:57:19,392 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:57:19,392 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-07 12:57:19,392 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-07 12:57:19,392 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 57 [2022-04-07 12:57:19,392 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:57:19,392 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-07 12:57:19,393 INFO L479 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-07 12:57:19,393 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-07 12:57:19,393 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:57:19,395 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-07 12:57:19,401 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-07 12:57:19,599 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:57:19,600 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-07 12:57:22,230 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 7) no Hoare annotation was computed. [2022-04-07 12:57:22,230 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 7) no Hoare annotation was computed. [2022-04-07 12:57:22,230 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 7) no Hoare annotation was computed. [2022-04-07 12:57:22,230 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 10 12) the Hoare annotation is: true [2022-04-07 12:57:22,230 INFO L882 garLoopResultBuilder]: For program point L11(line 11) no Hoare annotation was computed. [2022-04-07 12:57:22,230 INFO L882 garLoopResultBuilder]: For program point L11-2(lines 10 12) no Hoare annotation was computed. [2022-04-07 12:57:22,230 INFO L882 garLoopResultBuilder]: For program point assume_abort_if_notEXIT(lines 10 12) no Hoare annotation was computed. [2022-04-07 12:57:22,230 INFO L878 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: (and (<= main_~X~0 2) (<= 0 main_~X~0)) [2022-04-07 12:57:22,230 INFO L882 garLoopResultBuilder]: For program point L27-1(line 27) no Hoare annotation was computed. [2022-04-07 12:57:22,230 INFO L885 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: true [2022-04-07 12:57:22,231 INFO L882 garLoopResultBuilder]: For program point mainEXIT(lines 21 53) no Hoare annotation was computed. [2022-04-07 12:57:22,231 INFO L882 garLoopResultBuilder]: For program point L25-1(line 25) no Hoare annotation was computed. [2022-04-07 12:57:22,231 INFO L878 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-07 12:57:22,231 INFO L882 garLoopResultBuilder]: For program point L50-1(line 50) no Hoare annotation was computed. [2022-04-07 12:57:22,231 INFO L882 garLoopResultBuilder]: For program point mainFINAL(lines 21 53) no Hoare annotation was computed. [2022-04-07 12:57:22,231 INFO L882 garLoopResultBuilder]: For program point L40(lines 40 45) no Hoare annotation was computed. [2022-04-07 12:57:22,231 INFO L882 garLoopResultBuilder]: For program point L40-2(lines 40 45) no Hoare annotation was computed. [2022-04-07 12:57:22,231 INFO L878 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-07 12:57:22,231 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 21 53) the Hoare annotation is: true [2022-04-07 12:57:22,231 INFO L882 garLoopResultBuilder]: For program point L32-3(lines 32 47) no Hoare annotation was computed. [2022-04-07 12:57:22,231 INFO L878 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-07 12:57:22,231 INFO L882 garLoopResultBuilder]: For program point L35-1(lines 32 47) no Hoare annotation was computed. [2022-04-07 12:57:22,231 INFO L882 garLoopResultBuilder]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2022-04-07 12:57:22,231 INFO L878 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-07 12:57:22,231 INFO L882 garLoopResultBuilder]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2022-04-07 12:57:22,232 INFO L882 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-04-07 12:57:22,232 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-07 12:57:22,232 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-07 12:57:22,232 INFO L882 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-04-07 12:57:22,232 INFO L882 garLoopResultBuilder]: For program point L15(lines 15 16) no Hoare annotation was computed. [2022-04-07 12:57:22,232 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 13 19) the Hoare annotation is: true [2022-04-07 12:57:22,232 INFO L882 garLoopResultBuilder]: For program point L14(lines 14 17) no Hoare annotation was computed. [2022-04-07 12:57:22,232 INFO L882 garLoopResultBuilder]: For program point L14-2(lines 13 19) no Hoare annotation was computed. [2022-04-07 12:57:22,232 INFO L882 garLoopResultBuilder]: For program point __VERIFIER_assertEXIT(lines 13 19) no Hoare annotation was computed. [2022-04-07 12:57:22,232 INFO L882 garLoopResultBuilder]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 16) no Hoare annotation was computed. [2022-04-07 12:57:22,234 INFO L719 BasicCegarLoop]: Path program histogram: [3, 1, 1, 1, 1, 1] [2022-04-07 12:57:22,235 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2022-04-07 12:57:22,237 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-07 12:57:22,237 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-07 12:57:22,237 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-07 12:57:22,238 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-07 12:57:22,238 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-07 12:57:22,238 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-07 12:57:22,238 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-07 12:57:22,238 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-07 12:57:22,238 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-07 12:57:22,238 WARN L170 areAnnotationChecker]: L25-1 has no Hoare annotation [2022-04-07 12:57:22,238 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-07 12:57:22,238 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-07 12:57:22,238 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-07 12:57:22,238 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-07 12:57:22,238 WARN L170 areAnnotationChecker]: L11-2 has no Hoare annotation [2022-04-07 12:57:22,238 WARN L170 areAnnotationChecker]: L25-1 has no Hoare annotation [2022-04-07 12:57:22,238 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-07 12:57:22,238 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-07 12:57:22,238 WARN L170 areAnnotationChecker]: L14-2 has no Hoare annotation [2022-04-07 12:57:22,238 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-07 12:57:22,238 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-07 12:57:22,238 WARN L170 areAnnotationChecker]: L27-1 has no Hoare annotation [2022-04-07 12:57:22,238 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-07 12:57:22,238 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-07 12:57:22,238 WARN L170 areAnnotationChecker]: L27-1 has no Hoare annotation [2022-04-07 12:57:22,238 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-07 12:57:22,238 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-07 12:57:22,239 WARN L170 areAnnotationChecker]: L50-1 has no Hoare annotation [2022-04-07 12:57:22,239 WARN L170 areAnnotationChecker]: L32-3 has no Hoare annotation [2022-04-07 12:57:22,239 WARN L170 areAnnotationChecker]: L32-3 has no Hoare annotation [2022-04-07 12:57:22,241 WARN L170 areAnnotationChecker]: L32-3 has no Hoare annotation [2022-04-07 12:57:22,241 WARN L170 areAnnotationChecker]: L40 has no Hoare annotation [2022-04-07 12:57:22,241 WARN L170 areAnnotationChecker]: L40 has no Hoare annotation [2022-04-07 12:57:22,241 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-07 12:57:22,241 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-07 12:57:22,241 WARN L170 areAnnotationChecker]: L50-1 has no Hoare annotation [2022-04-07 12:57:22,241 WARN L170 areAnnotationChecker]: L40-2 has no Hoare annotation [2022-04-07 12:57:22,241 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-07 12:57:22,241 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-07 12:57:22,247 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 07.04 12:57:22 BoogieIcfgContainer [2022-04-07 12:57:22,247 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-07 12:57:22,248 INFO L158 Benchmark]: Toolchain (without parser) took 302292.04ms. Allocated memory was 189.8MB in the beginning and 266.3MB in the end (delta: 76.5MB). Free memory was 135.4MB in the beginning and 194.1MB in the end (delta: -58.7MB). Peak memory consumption was 123.6MB. Max. memory is 8.0GB. [2022-04-07 12:57:22,248 INFO L158 Benchmark]: CDTParser took 0.08ms. Allocated memory is still 189.8MB. Free memory is still 152.1MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-07 12:57:22,248 INFO L158 Benchmark]: CACSL2BoogieTranslator took 223.69ms. Allocated memory is still 189.8MB. Free memory was 135.2MB in the beginning and 164.7MB in the end (delta: -29.5MB). Peak memory consumption was 7.1MB. Max. memory is 8.0GB. [2022-04-07 12:57:22,249 INFO L158 Benchmark]: Boogie Preprocessor took 29.74ms. Allocated memory is still 189.8MB. Free memory was 164.7MB in the beginning and 163.2MB in the end (delta: 1.5MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-07 12:57:22,249 INFO L158 Benchmark]: RCFGBuilder took 246.40ms. Allocated memory is still 189.8MB. Free memory was 162.8MB in the beginning and 150.6MB in the end (delta: 12.2MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-07 12:57:22,249 INFO L158 Benchmark]: TraceAbstraction took 301787.59ms. Allocated memory was 189.8MB in the beginning and 266.3MB in the end (delta: 76.5MB). Free memory was 150.2MB in the beginning and 194.1MB in the end (delta: -43.9MB). Peak memory consumption was 138.4MB. Max. memory is 8.0GB. [2022-04-07 12:57:22,250 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 189.8MB. Free memory is still 152.1MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 223.69ms. Allocated memory is still 189.8MB. Free memory was 135.2MB in the beginning and 164.7MB in the end (delta: -29.5MB). Peak memory consumption was 7.1MB. Max. memory is 8.0GB. * Boogie Preprocessor took 29.74ms. Allocated memory is still 189.8MB. Free memory was 164.7MB in the beginning and 163.2MB in the end (delta: 1.5MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 246.40ms. Allocated memory is still 189.8MB. Free memory was 162.8MB in the beginning and 150.6MB in the end (delta: 12.2MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 301787.59ms. Allocated memory was 189.8MB in the beginning and 266.3MB in the end (delta: 76.5MB). Free memory was 150.2MB in the beginning and 194.1MB in the end (delta: -43.9MB). Peak memory consumption was 138.4MB. 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: 301.7s, OverallIterations: 8, TraceHistogramMax: 5, PathProgramHistogramMax: 3, EmptinessCheckTime: 0.0s, AutomataDifference: 16.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 2.6s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 1 mSolverCounterUnknown, 154 SdHoareTripleChecker+Valid, 5.7s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 144 mSDsluCounter, 918 SdHoareTripleChecker+Invalid, 5.7s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 136 IncrementalHoareTripleChecker+Unchecked, 720 mSDsCounter, 96 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1049 IncrementalHoareTripleChecker+Invalid, 1282 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 96 mSolverCounterUnsat, 198 mSDtfsCounter, 1049 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 575 GetRequests, 443 SyntacticMatches, 7 SemanticMatches, 125 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 611 ImplicationChecksByTransitivity, 20.7s 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, 2.5s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 275.6s InterpolantComputationTime, 311 NumberOfCodeBlocks, 293 NumberOfCodeBlocksAsserted, 10 NumberOfCheckSat, 531 ConstructedInterpolants, 6 QuantifiedInterpolants, 3048 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-07 12:57:22,479 WARN L435 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forcibly destroying the process [2022-04-07 12:57:22,527 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 137 Received shutdown request...