/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_unwindbound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-14 15:01:18,865 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-14 15:01:18,867 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-14 15:01:18,892 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-14 15:01:18,892 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-14 15:01:18,893 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-14 15:01:18,894 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-14 15:01:18,896 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-14 15:01:18,897 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-14 15:01:18,898 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-14 15:01:18,910 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-14 15:01:18,911 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-14 15:01:18,912 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-14 15:01:18,915 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-14 15:01:18,916 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-14 15:01:18,918 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-14 15:01:18,919 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-14 15:01:18,924 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-14 15:01:18,929 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-14 15:01:18,931 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-14 15:01:18,932 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-14 15:01:18,935 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-14 15:01:18,936 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-14 15:01:18,939 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-14 15:01:18,940 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-14 15:01:18,948 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-14 15:01:18,948 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-14 15:01:18,948 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-14 15:01:18,949 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-14 15:01:18,949 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-14 15:01:18,950 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-14 15:01:18,950 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-14 15:01:18,951 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-14 15:01:18,952 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-14 15:01:18,952 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-14 15:01:18,953 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-14 15:01:18,953 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-14 15:01:18,954 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-14 15:01:18,954 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-14 15:01:18,954 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-14 15:01:18,955 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-14 15:01:18,961 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-14 15:01:18,961 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-14 15:01:18,994 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-14 15:01:18,995 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-14 15:01:18,995 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-14 15:01:18,995 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-14 15:01:18,996 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-14 15:01:18,996 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-14 15:01:18,996 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-14 15:01:18,996 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-14 15:01:18,997 INFO L138 SettingsManager]: * Use SBE=true [2022-04-14 15:01:18,998 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-14 15:01:18,998 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-14 15:01:18,998 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-14 15:01:18,998 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-14 15:01:18,998 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-14 15:01:18,998 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-14 15:01:18,999 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-14 15:01:18,999 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-14 15:01:18,999 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-14 15:01:18,999 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-14 15:01:18,999 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-14 15:01:18,999 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-14 15:01:19,000 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-14 15:01:19,000 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-14 15:01:19,000 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-14 15:01:19,000 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 15:01:19,000 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-14 15:01:19,000 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-14 15:01:19,001 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-14 15:01:19,001 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-14 15:01:19,001 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-14 15:01:19,001 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-04-14 15:01:19,002 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-14 15:01:19,002 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-14 15:01:19,002 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-14 15:01:19,230 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-14 15:01:19,254 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-14 15:01:19,256 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-14 15:01:19,257 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-14 15:01:19,258 INFO L275 PluginConnector]: CDTParser initialized [2022-04-14 15:01:19,259 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound5.c [2022-04-14 15:01:19,312 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6ab9367a1/8b7c61e9b5a44e4a832d3e6e765867b3/FLAG65dcd2b17 [2022-04-14 15:01:19,693 INFO L306 CDTParser]: Found 1 translation units. [2022-04-14 15:01:19,693 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/bresenham-ll_unwindbound5.c [2022-04-14 15:01:19,699 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6ab9367a1/8b7c61e9b5a44e4a832d3e6e765867b3/FLAG65dcd2b17 [2022-04-14 15:01:19,717 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6ab9367a1/8b7c61e9b5a44e4a832d3e6e765867b3 [2022-04-14 15:01:19,719 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-14 15:01:19,720 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-14 15:01:19,724 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-14 15:01:19,724 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-14 15:01:19,727 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-14 15:01:19,732 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 03:01:19" (1/1) ... [2022-04-14 15:01:19,733 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@57cbae31 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:01:19, skipping insertion in model container [2022-04-14 15:01:19,734 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 03:01:19" (1/1) ... [2022-04-14 15:01:19,740 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-14 15:01:19,753 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-14 15:01:19,931 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_unwindbound5.c[597,610] [2022-04-14 15:01:19,947 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 15:01:19,955 INFO L203 MainTranslator]: Completed pre-run [2022-04-14 15:01:19,965 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_unwindbound5.c[597,610] [2022-04-14 15:01:19,974 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 15:01:19,987 INFO L208 MainTranslator]: Completed translation [2022-04-14 15:01:19,988 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:01:19 WrapperNode [2022-04-14 15:01:19,988 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-14 15:01:19,989 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-14 15:01:19,989 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-14 15:01:19,989 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-14 15:01:19,997 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:01:19" (1/1) ... [2022-04-14 15:01:19,997 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:01:19" (1/1) ... [2022-04-14 15:01:20,002 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:01:19" (1/1) ... [2022-04-14 15:01:20,002 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:01:19" (1/1) ... [2022-04-14 15:01:20,008 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:01:19" (1/1) ... [2022-04-14 15:01:20,012 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:01:19" (1/1) ... [2022-04-14 15:01:20,014 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:01:19" (1/1) ... [2022-04-14 15:01:20,015 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-14 15:01:20,016 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-14 15:01:20,016 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-14 15:01:20,016 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-14 15:01:20,017 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:01:19" (1/1) ... [2022-04-14 15:01:20,024 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 15:01:20,032 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:01:20,042 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-14 15:01:20,055 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-14 15:01:20,076 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-14 15:01:20,077 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-14 15:01:20,079 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-14 15:01:20,079 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-14 15:01:20,079 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-14 15:01:20,079 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-14 15:01:20,080 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-14 15:01:20,080 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-14 15:01:20,080 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-14 15:01:20,080 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-14 15:01:20,080 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-14 15:01:20,080 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-14 15:01:20,080 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-14 15:01:20,080 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-14 15:01:20,080 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-14 15:01:20,081 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-14 15:01:20,081 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-14 15:01:20,081 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-14 15:01:20,081 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-14 15:01:20,081 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-14 15:01:20,131 INFO L234 CfgBuilder]: Building ICFG [2022-04-14 15:01:20,132 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-14 15:01:20,315 INFO L275 CfgBuilder]: Performing block encoding [2022-04-14 15:01:20,325 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-14 15:01:20,325 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-14 15:01:20,326 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 03:01:20 BoogieIcfgContainer [2022-04-14 15:01:20,326 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-14 15:01:20,328 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-14 15:01:20,328 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-14 15:01:20,331 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-14 15:01:20,331 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.04 03:01:19" (1/3) ... [2022-04-14 15:01:20,332 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@571403aa and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 03:01:20, skipping insertion in model container [2022-04-14 15:01:20,332 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 03:01:19" (2/3) ... [2022-04-14 15:01:20,332 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@571403aa and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 03:01:20, skipping insertion in model container [2022-04-14 15:01:20,332 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 03:01:20" (3/3) ... [2022-04-14 15:01:20,334 INFO L111 eAbstractionObserver]: Analyzing ICFG bresenham-ll_unwindbound5.c [2022-04-14 15:01:20,338 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-14 15:01:20,338 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-14 15:01:20,377 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-14 15:01:20,382 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-14 15:01:20,382 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-14 15:01:20,400 INFO L276 IsEmpty]: Start isEmpty. Operand has 25 states, 16 states have (on average 1.375) internal successors, (22), 17 states have internal predecessors, (22), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-14 15:01:20,404 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-14 15:01:20,404 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:01:20,405 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 15:01:20,405 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:01:20,410 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:01:20,410 INFO L85 PathProgramCache]: Analyzing trace with hash 2019451875, now seen corresponding path program 1 times [2022-04-14 15:01:20,419 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:01:20,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [643262086] [2022-04-14 15:01:20,420 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:01:20,420 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:01:20,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:01:20,563 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-14 15:01:20,568 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:01:20,582 INFO L290 TraceCheckUtils]: 0: Hoare triple {33#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {28#true} is VALID [2022-04-14 15:01:20,583 INFO L290 TraceCheckUtils]: 1: Hoare triple {28#true} assume true; {28#true} is VALID [2022-04-14 15:01:20,583 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28#true} {28#true} #62#return; {28#true} is VALID [2022-04-14 15:01:20,585 INFO L272 TraceCheckUtils]: 0: Hoare triple {28#true} call ULTIMATE.init(); {33#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-14 15:01:20,585 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {28#true} is VALID [2022-04-14 15:01:20,585 INFO L290 TraceCheckUtils]: 2: Hoare triple {28#true} assume true; {28#true} is VALID [2022-04-14 15:01:20,586 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28#true} {28#true} #62#return; {28#true} is VALID [2022-04-14 15:01:20,586 INFO L272 TraceCheckUtils]: 4: Hoare triple {28#true} call #t~ret9 := main(); {28#true} is VALID [2022-04-14 15:01:20,586 INFO L290 TraceCheckUtils]: 5: Hoare triple {28#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {28#true} is VALID [2022-04-14 15:01:20,587 INFO L290 TraceCheckUtils]: 6: Hoare triple {28#true} assume !true; {29#false} is VALID [2022-04-14 15:01:20,587 INFO L290 TraceCheckUtils]: 7: Hoare triple {29#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {29#false} is VALID [2022-04-14 15:01:20,588 INFO L272 TraceCheckUtils]: 8: Hoare triple {29#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)); {29#false} is VALID [2022-04-14 15:01:20,588 INFO L290 TraceCheckUtils]: 9: Hoare triple {29#false} ~cond := #in~cond; {29#false} is VALID [2022-04-14 15:01:20,588 INFO L290 TraceCheckUtils]: 10: Hoare triple {29#false} assume 0 == ~cond; {29#false} is VALID [2022-04-14 15:01:20,588 INFO L290 TraceCheckUtils]: 11: Hoare triple {29#false} assume !false; {29#false} is VALID [2022-04-14 15:01:20,589 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-14 15:01:20,589 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:01:20,589 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [643262086] [2022-04-14 15:01:20,590 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [643262086] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 15:01:20,590 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 15:01:20,590 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-14 15:01:20,592 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1901229031] [2022-04-14 15:01:20,593 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 15:01:20,597 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-14 15:01:20,598 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:01:20,601 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-14 15:01:20,619 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:01:20,620 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-14 15:01:20,620 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:01:20,644 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-14 15:01:20,644 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-14 15:01:20,647 INFO L87 Difference]: Start difference. First operand has 25 states, 16 states have (on average 1.375) internal successors, (22), 17 states have internal predecessors, (22), 4 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-14 15:01:20,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:01:20,800 INFO L93 Difference]: Finished difference Result 45 states and 58 transitions. [2022-04-14 15:01:20,800 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-14 15:01:20,800 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-14 15:01:20,801 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:01:20,802 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-14 15:01:20,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2022-04-14 15:01:20,814 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-14 15:01:20,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 58 transitions. [2022-04-14 15:01:20,819 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 58 transitions. [2022-04-14 15:01:20,880 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:01:20,888 INFO L225 Difference]: With dead ends: 45 [2022-04-14 15:01:20,888 INFO L226 Difference]: Without dead ends: 21 [2022-04-14 15:01:20,892 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 3 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-14 15:01:20,897 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 6 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 15 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 18 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 15 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 15:01:20,898 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 31 Invalid, 18 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 15 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 15:01:20,913 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2022-04-14 15:01:20,929 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 20. [2022-04-14 15:01:20,929 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:01:20,930 INFO L82 GeneralOperation]: Start isEquivalent. First operand 21 states. Second operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-14 15:01:20,931 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-14 15:01:20,931 INFO L87 Difference]: Start difference. First operand 21 states. Second operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-14 15:01:20,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:01:20,935 INFO L93 Difference]: Finished difference Result 21 states and 24 transitions. [2022-04-14 15:01:20,935 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2022-04-14 15:01:20,935 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:01:20,935 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:01:20,936 INFO L74 IsIncluded]: Start isIncluded. First operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 21 states. [2022-04-14 15:01:20,936 INFO L87 Difference]: Start difference. First operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 21 states. [2022-04-14 15:01:20,949 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:01:20,950 INFO L93 Difference]: Finished difference Result 21 states and 24 transitions. [2022-04-14 15:01:20,950 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2022-04-14 15:01:20,950 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:01:20,950 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:01:20,951 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:01:20,951 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:01:20,951 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 13 states have (on average 1.3076923076923077) internal successors, (17), 14 states have internal predecessors, (17), 4 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-14 15:01:20,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 23 transitions. [2022-04-14 15:01:20,954 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 23 transitions. Word has length 12 [2022-04-14 15:01:20,954 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:01:20,954 INFO L478 AbstractCegarLoop]: Abstraction has 20 states and 23 transitions. [2022-04-14 15:01:20,955 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-14 15:01:20,955 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 23 transitions. [2022-04-14 15:01:20,955 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-14 15:01:20,956 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:01:20,956 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 15:01:20,956 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-14 15:01:20,956 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:01:20,957 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:01:20,957 INFO L85 PathProgramCache]: Analyzing trace with hash 1431109416, now seen corresponding path program 1 times [2022-04-14 15:01:20,957 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:01:20,958 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1586418320] [2022-04-14 15:01:20,958 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:01:20,958 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:01:20,976 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:01:20,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [947170258] [2022-04-14 15:01:20,976 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:01:20,976 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:01:20,977 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:01:20,978 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-14 15:01:20,991 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-14 15:01:21,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:01:21,042 INFO L263 TraceCheckSpWp]: Trace formula consists of 79 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-14 15:01:21,052 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:01:21,055 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:01:21,233 INFO L272 TraceCheckUtils]: 0: Hoare triple {164#true} call ULTIMATE.init(); {164#true} is VALID [2022-04-14 15:01:21,234 INFO L290 TraceCheckUtils]: 1: Hoare triple {164#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);~counter~0 := 0; {164#true} is VALID [2022-04-14 15:01:21,234 INFO L290 TraceCheckUtils]: 2: Hoare triple {164#true} assume true; {164#true} is VALID [2022-04-14 15:01:21,234 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {164#true} {164#true} #62#return; {164#true} is VALID [2022-04-14 15:01:21,234 INFO L272 TraceCheckUtils]: 4: Hoare triple {164#true} call #t~ret9 := main(); {164#true} is VALID [2022-04-14 15:01:21,235 INFO L290 TraceCheckUtils]: 5: Hoare triple {164#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {184#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-14 15:01:21,236 INFO L290 TraceCheckUtils]: 6: Hoare triple {184#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {184#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-14 15:01:21,237 INFO L290 TraceCheckUtils]: 7: Hoare triple {184#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {191#(and (= main_~xy~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~yx~0 0))} is VALID [2022-04-14 15:01:21,238 INFO L272 TraceCheckUtils]: 8: Hoare triple {191#(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)); {195#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:01:21,239 INFO L290 TraceCheckUtils]: 9: Hoare triple {195#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {199#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:01:21,240 INFO L290 TraceCheckUtils]: 10: Hoare triple {199#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {165#false} is VALID [2022-04-14 15:01:21,240 INFO L290 TraceCheckUtils]: 11: Hoare triple {165#false} assume !false; {165#false} is VALID [2022-04-14 15:01:21,240 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-14 15:01:21,240 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 15:01:21,240 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:01:21,241 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1586418320] [2022-04-14 15:01:21,241 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:01:21,241 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [947170258] [2022-04-14 15:01:21,245 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [947170258] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 15:01:21,246 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 15:01:21,246 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-14 15:01:21,247 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1946069130] [2022-04-14 15:01:21,247 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 15:01:21,248 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-14 15:01:21,248 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:01:21,249 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-14 15:01:21,262 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:01:21,263 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-14 15:01:21,264 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:01:21,266 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-14 15:01:21,266 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-14 15:01:21,266 INFO L87 Difference]: Start difference. First operand 20 states and 23 transitions. Second operand has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-14 15:01:21,508 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:01:21,508 INFO L93 Difference]: Finished difference Result 34 states and 40 transitions. [2022-04-14 15:01:21,509 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-14 15:01:21,509 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-14 15:01:21,509 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:01:21,510 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-14 15:01:21,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-14 15:01:21,514 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-14 15:01:21,519 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-14 15:01:21,519 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 40 transitions. [2022-04-14 15:01:21,555 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:01:21,558 INFO L225 Difference]: With dead ends: 34 [2022-04-14 15:01:21,558 INFO L226 Difference]: Without dead ends: 29 [2022-04-14 15:01:21,559 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-14 15:01:21,561 INFO L913 BasicCegarLoop]: 15 mSDtfsCounter, 12 mSDsluCounter, 49 mSDsCounter, 0 mSdLazyCounter, 56 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 64 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 56 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-14 15:01:21,562 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 64 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 56 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-14 15:01:21,564 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-14 15:01:21,572 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 28. [2022-04-14 15:01:21,572 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:01:21,574 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-14 15:01:21,574 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-14 15:01:21,575 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-14 15:01:21,577 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:01:21,577 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2022-04-14 15:01:21,577 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-14 15:01:21,578 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:01:21,578 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:01:21,579 INFO L74 IsIncluded]: Start isIncluded. First operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 29 states. [2022-04-14 15:01:21,581 INFO L87 Difference]: Start difference. First operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 29 states. [2022-04-14 15:01:21,585 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:01:21,586 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2022-04-14 15:01:21,586 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-14 15:01:21,586 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:01:21,586 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:01:21,587 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:01:21,587 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:01:21,588 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-14 15:01:21,590 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 31 transitions. [2022-04-14 15:01:21,590 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 31 transitions. Word has length 12 [2022-04-14 15:01:21,591 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:01:21,591 INFO L478 AbstractCegarLoop]: Abstraction has 28 states and 31 transitions. [2022-04-14 15:01:21,592 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 1.6) internal successors, (8), 5 states have internal predecessors, (8), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-14 15:01:21,592 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 31 transitions. [2022-04-14 15:01:21,593 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-14 15:01:21,593 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:01:21,594 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 15:01:21,624 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-14 15:01:21,807 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-14 15:01:21,808 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:01:21,808 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:01:21,808 INFO L85 PathProgramCache]: Analyzing trace with hash 1603905768, now seen corresponding path program 1 times [2022-04-14 15:01:21,809 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:01:21,809 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1028679135] [2022-04-14 15:01:21,809 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:01:21,809 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:01:21,829 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:01:21,829 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [663339802] [2022-04-14 15:01:21,829 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:01:21,830 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:01:21,830 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:01:21,837 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-14 15:01:21,838 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-14 15:01:21,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:01:21,901 INFO L263 TraceCheckSpWp]: Trace formula consists of 103 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-14 15:01:21,917 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:01:21,919 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:01:22,215 INFO L272 TraceCheckUtils]: 0: Hoare triple {352#true} call ULTIMATE.init(); {352#true} is VALID [2022-04-14 15:01:22,216 INFO L290 TraceCheckUtils]: 1: Hoare triple {352#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);~counter~0 := 0; {352#true} is VALID [2022-04-14 15:01:22,216 INFO L290 TraceCheckUtils]: 2: Hoare triple {352#true} assume true; {352#true} is VALID [2022-04-14 15:01:22,216 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {352#true} {352#true} #62#return; {352#true} is VALID [2022-04-14 15:01:22,217 INFO L272 TraceCheckUtils]: 4: Hoare triple {352#true} call #t~ret9 := main(); {352#true} is VALID [2022-04-14 15:01:22,218 INFO L290 TraceCheckUtils]: 5: Hoare triple {352#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-14 15:01:22,219 INFO L290 TraceCheckUtils]: 6: Hoare triple {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-14 15:01:22,220 INFO L290 TraceCheckUtils]: 7: Hoare triple {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-14 15:01:22,222 INFO L272 TraceCheckUtils]: 8: Hoare triple {372#(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)); {352#true} is VALID [2022-04-14 15:01:22,222 INFO L290 TraceCheckUtils]: 9: Hoare triple {352#true} ~cond := #in~cond; {352#true} is VALID [2022-04-14 15:01:22,222 INFO L290 TraceCheckUtils]: 10: Hoare triple {352#true} assume !(0 == ~cond); {352#true} is VALID [2022-04-14 15:01:22,222 INFO L290 TraceCheckUtils]: 11: Hoare triple {352#true} assume true; {352#true} is VALID [2022-04-14 15:01:22,226 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {352#true} {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} #58#return; {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-14 15:01:22,226 INFO L290 TraceCheckUtils]: 13: Hoare triple {372#(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); {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} is VALID [2022-04-14 15:01:22,227 INFO L290 TraceCheckUtils]: 14: Hoare triple {372#(and (= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0) (= main_~y~0 0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {400#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-14 15:01:22,228 INFO L290 TraceCheckUtils]: 15: Hoare triple {400#(and (= main_~x~0 0) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {404#(and (= main_~x~0 1) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-14 15:01:22,229 INFO L290 TraceCheckUtils]: 16: Hoare triple {404#(and (= main_~x~0 1) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {404#(and (= main_~x~0 1) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-14 15:01:22,230 INFO L290 TraceCheckUtils]: 17: Hoare triple {404#(and (= main_~x~0 1) (= main_~y~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {411#(and (= main_~xy~0 0) (= main_~Y~0 main_~yx~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} is VALID [2022-04-14 15:01:22,231 INFO L272 TraceCheckUtils]: 18: Hoare triple {411#(and (= main_~xy~0 0) (= main_~Y~0 main_~yx~0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) (+ main_~v~0 (* (- 2) main_~Y~0))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {415#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:01:22,234 INFO L290 TraceCheckUtils]: 19: Hoare triple {415#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {419#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:01:22,235 INFO L290 TraceCheckUtils]: 20: Hoare triple {419#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {353#false} is VALID [2022-04-14 15:01:22,235 INFO L290 TraceCheckUtils]: 21: Hoare triple {353#false} assume !false; {353#false} is VALID [2022-04-14 15:01:22,235 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-14 15:01:22,235 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 15:01:22,421 INFO L290 TraceCheckUtils]: 21: Hoare triple {353#false} assume !false; {353#false} is VALID [2022-04-14 15:01:22,425 INFO L290 TraceCheckUtils]: 20: Hoare triple {419#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {353#false} is VALID [2022-04-14 15:01:22,426 INFO L290 TraceCheckUtils]: 19: Hoare triple {415#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {419#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:01:22,427 INFO L272 TraceCheckUtils]: 18: Hoare triple {435#(= (+ (* 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)); {415#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:01:22,428 INFO L290 TraceCheckUtils]: 17: Hoare triple {439#(= (+ (* 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 !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {435#(= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))} is VALID [2022-04-14 15:01:22,429 INFO L290 TraceCheckUtils]: 16: Hoare triple {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {439#(= (+ (* 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-14 15:01:22,433 INFO L290 TraceCheckUtils]: 15: Hoare triple {446#(= (+ (* (* 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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {439#(= (+ (* 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-14 15:01:22,436 INFO L290 TraceCheckUtils]: 14: Hoare triple {439#(= (+ (* 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; {446#(= (+ (* (* 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-14 15:01:22,437 INFO L290 TraceCheckUtils]: 13: Hoare triple {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} assume !!(~x~0 <= ~X~0); {439#(= (+ (* 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-14 15:01:22,438 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {352#true} {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #58#return; {439#(= (+ (* 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-14 15:01:22,439 INFO L290 TraceCheckUtils]: 11: Hoare triple {352#true} assume true; {352#true} is VALID [2022-04-14 15:01:22,439 INFO L290 TraceCheckUtils]: 10: Hoare triple {352#true} assume !(0 == ~cond); {352#true} is VALID [2022-04-14 15:01:22,439 INFO L290 TraceCheckUtils]: 9: Hoare triple {352#true} ~cond := #in~cond; {352#true} is VALID [2022-04-14 15:01:22,439 INFO L272 TraceCheckUtils]: 8: Hoare triple {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {352#true} is VALID [2022-04-14 15:01:22,440 INFO L290 TraceCheckUtils]: 7: Hoare triple {439#(= (+ (* 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 !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {439#(= (+ (* 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-14 15:01:22,441 INFO L290 TraceCheckUtils]: 6: Hoare triple {439#(= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {439#(= (+ (* 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-14 15:01:22,442 INFO L290 TraceCheckUtils]: 5: Hoare triple {352#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {439#(= (+ (* 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-14 15:01:22,442 INFO L272 TraceCheckUtils]: 4: Hoare triple {352#true} call #t~ret9 := main(); {352#true} is VALID [2022-04-14 15:01:22,442 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {352#true} {352#true} #62#return; {352#true} is VALID [2022-04-14 15:01:22,442 INFO L290 TraceCheckUtils]: 2: Hoare triple {352#true} assume true; {352#true} is VALID [2022-04-14 15:01:22,443 INFO L290 TraceCheckUtils]: 1: Hoare triple {352#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);~counter~0 := 0; {352#true} is VALID [2022-04-14 15:01:22,443 INFO L272 TraceCheckUtils]: 0: Hoare triple {352#true} call ULTIMATE.init(); {352#true} is VALID [2022-04-14 15:01:22,443 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-14 15:01:22,443 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:01:22,444 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1028679135] [2022-04-14 15:01:22,444 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:01:22,444 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [663339802] [2022-04-14 15:01:22,444 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [663339802] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 15:01:22,444 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 15:01:22,444 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 11 [2022-04-14 15:01:22,444 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2129528656] [2022-04-14 15:01:22,445 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 15:01:22,445 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 22 [2022-04-14 15:01:22,445 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:01:22,446 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-14 15:01:22,477 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:01:22,478 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-14 15:01:22,478 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:01:22,478 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-14 15:01:22,478 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-14 15:01:22,479 INFO L87 Difference]: Start difference. First operand 28 states and 31 transitions. Second operand has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-14 15:01:23,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:01:23,153 INFO L93 Difference]: Finished difference Result 45 states and 52 transitions. [2022-04-14 15:01:23,153 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-14 15:01:23,154 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 22 [2022-04-14 15:01:23,154 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:01:23,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-14 15:01:23,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 49 transitions. [2022-04-14 15:01:23,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-14 15:01:23,159 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 49 transitions. [2022-04-14 15:01:23,160 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 49 transitions. [2022-04-14 15:01:23,217 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:01:23,218 INFO L225 Difference]: With dead ends: 45 [2022-04-14 15:01:23,218 INFO L226 Difference]: Without dead ends: 38 [2022-04-14 15:01:23,219 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 32 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-14 15:01:23,220 INFO L913 BasicCegarLoop]: 15 mSDtfsCounter, 20 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 154 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 100 SdHoareTripleChecker+Invalid, 165 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 154 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-14 15:01:23,220 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 100 Invalid, 165 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 154 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-14 15:01:23,221 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-14 15:01:23,228 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 36. [2022-04-14 15:01:23,228 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:01:23,228 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 36 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 26 states have internal predecessors, (30), 6 states have call successors, (6), 5 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-14 15:01:23,228 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 36 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 26 states have internal predecessors, (30), 6 states have call successors, (6), 5 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-14 15:01:23,229 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 36 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 26 states have internal predecessors, (30), 6 states have call successors, (6), 5 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-14 15:01:23,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:01:23,231 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2022-04-14 15:01:23,232 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 43 transitions. [2022-04-14 15:01:23,232 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:01:23,232 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:01:23,233 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 26 states have internal predecessors, (30), 6 states have call successors, (6), 5 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 38 states. [2022-04-14 15:01:23,233 INFO L87 Difference]: Start difference. First operand has 36 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 26 states have internal predecessors, (30), 6 states have call successors, (6), 5 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 38 states. [2022-04-14 15:01:23,235 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:01:23,235 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2022-04-14 15:01:23,235 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 43 transitions. [2022-04-14 15:01:23,236 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:01:23,236 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:01:23,236 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:01:23,236 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:01:23,236 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 26 states have (on average 1.1538461538461537) internal successors, (30), 26 states have internal predecessors, (30), 6 states have call successors, (6), 5 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-14 15:01:23,238 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 40 transitions. [2022-04-14 15:01:23,238 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 40 transitions. Word has length 22 [2022-04-14 15:01:23,238 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:01:23,238 INFO L478 AbstractCegarLoop]: Abstraction has 36 states and 40 transitions. [2022-04-14 15:01:23,239 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 10 states have internal predecessors, (23), 5 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-14 15:01:23,239 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 40 transitions. [2022-04-14 15:01:23,239 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-14 15:01:23,240 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:01:23,240 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 15:01:23,267 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-14 15:01:23,454 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-14 15:01:23,455 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:01:23,456 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:01:23,456 INFO L85 PathProgramCache]: Analyzing trace with hash -1213814707, now seen corresponding path program 1 times [2022-04-14 15:01:23,456 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:01:23,456 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1233906189] [2022-04-14 15:01:23,456 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:01:23,456 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:01:23,472 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:01:23,472 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1355957189] [2022-04-14 15:01:23,472 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:01:23,473 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:01:23,473 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:01:23,474 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-14 15:01:23,507 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-14 15:01:23,531 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:01:23,532 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-14 15:01:23,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:01:23,542 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:01:23,668 INFO L272 TraceCheckUtils]: 0: Hoare triple {688#true} call ULTIMATE.init(); {688#true} is VALID [2022-04-14 15:01:23,669 INFO L290 TraceCheckUtils]: 1: Hoare triple {688#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);~counter~0 := 0; {696#(<= ~counter~0 0)} is VALID [2022-04-14 15:01:23,670 INFO L290 TraceCheckUtils]: 2: Hoare triple {696#(<= ~counter~0 0)} assume true; {696#(<= ~counter~0 0)} is VALID [2022-04-14 15:01:23,671 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {696#(<= ~counter~0 0)} {688#true} #62#return; {696#(<= ~counter~0 0)} is VALID [2022-04-14 15:01:23,671 INFO L272 TraceCheckUtils]: 4: Hoare triple {696#(<= ~counter~0 0)} call #t~ret9 := main(); {696#(<= ~counter~0 0)} is VALID [2022-04-14 15:01:23,672 INFO L290 TraceCheckUtils]: 5: Hoare triple {696#(<= ~counter~0 0)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {696#(<= ~counter~0 0)} is VALID [2022-04-14 15:01:23,672 INFO L290 TraceCheckUtils]: 6: Hoare triple {696#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {712#(<= ~counter~0 1)} is VALID [2022-04-14 15:01:23,678 INFO L290 TraceCheckUtils]: 7: Hoare triple {712#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {712#(<= ~counter~0 1)} is VALID [2022-04-14 15:01:23,679 INFO L272 TraceCheckUtils]: 8: Hoare triple {712#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {712#(<= ~counter~0 1)} is VALID [2022-04-14 15:01:23,679 INFO L290 TraceCheckUtils]: 9: Hoare triple {712#(<= ~counter~0 1)} ~cond := #in~cond; {712#(<= ~counter~0 1)} is VALID [2022-04-14 15:01:23,680 INFO L290 TraceCheckUtils]: 10: Hoare triple {712#(<= ~counter~0 1)} assume !(0 == ~cond); {712#(<= ~counter~0 1)} is VALID [2022-04-14 15:01:23,680 INFO L290 TraceCheckUtils]: 11: Hoare triple {712#(<= ~counter~0 1)} assume true; {712#(<= ~counter~0 1)} is VALID [2022-04-14 15:01:23,681 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {712#(<= ~counter~0 1)} {712#(<= ~counter~0 1)} #58#return; {712#(<= ~counter~0 1)} is VALID [2022-04-14 15:01:23,681 INFO L290 TraceCheckUtils]: 13: Hoare triple {712#(<= ~counter~0 1)} assume !!(~x~0 <= ~X~0); {712#(<= ~counter~0 1)} is VALID [2022-04-14 15:01:23,682 INFO L290 TraceCheckUtils]: 14: Hoare triple {712#(<= ~counter~0 1)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {712#(<= ~counter~0 1)} is VALID [2022-04-14 15:01:23,683 INFO L290 TraceCheckUtils]: 15: Hoare triple {712#(<= ~counter~0 1)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {712#(<= ~counter~0 1)} is VALID [2022-04-14 15:01:23,684 INFO L290 TraceCheckUtils]: 16: Hoare triple {712#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {743#(<= |main_#t~post6| 1)} is VALID [2022-04-14 15:01:23,684 INFO L290 TraceCheckUtils]: 17: Hoare triple {743#(<= |main_#t~post6| 1)} assume !(#t~post6 < 5);havoc #t~post6; {689#false} is VALID [2022-04-14 15:01:23,685 INFO L290 TraceCheckUtils]: 18: Hoare triple {689#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {689#false} is VALID [2022-04-14 15:01:23,685 INFO L272 TraceCheckUtils]: 19: Hoare triple {689#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)); {689#false} is VALID [2022-04-14 15:01:23,685 INFO L290 TraceCheckUtils]: 20: Hoare triple {689#false} ~cond := #in~cond; {689#false} is VALID [2022-04-14 15:01:23,685 INFO L290 TraceCheckUtils]: 21: Hoare triple {689#false} assume 0 == ~cond; {689#false} is VALID [2022-04-14 15:01:23,685 INFO L290 TraceCheckUtils]: 22: Hoare triple {689#false} assume !false; {689#false} is VALID [2022-04-14 15:01:23,685 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-14 15:01:23,686 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 15:01:23,817 INFO L290 TraceCheckUtils]: 22: Hoare triple {689#false} assume !false; {689#false} is VALID [2022-04-14 15:01:23,818 INFO L290 TraceCheckUtils]: 21: Hoare triple {689#false} assume 0 == ~cond; {689#false} is VALID [2022-04-14 15:01:23,818 INFO L290 TraceCheckUtils]: 20: Hoare triple {689#false} ~cond := #in~cond; {689#false} is VALID [2022-04-14 15:01:23,818 INFO L272 TraceCheckUtils]: 19: Hoare triple {689#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)); {689#false} is VALID [2022-04-14 15:01:23,818 INFO L290 TraceCheckUtils]: 18: Hoare triple {689#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {689#false} is VALID [2022-04-14 15:01:23,819 INFO L290 TraceCheckUtils]: 17: Hoare triple {777#(< |main_#t~post6| 5)} assume !(#t~post6 < 5);havoc #t~post6; {689#false} is VALID [2022-04-14 15:01:23,819 INFO L290 TraceCheckUtils]: 16: Hoare triple {781#(< ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {777#(< |main_#t~post6| 5)} is VALID [2022-04-14 15:01:23,820 INFO L290 TraceCheckUtils]: 15: Hoare triple {781#(< ~counter~0 5)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {781#(< ~counter~0 5)} is VALID [2022-04-14 15:01:23,820 INFO L290 TraceCheckUtils]: 14: Hoare triple {781#(< ~counter~0 5)} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {781#(< ~counter~0 5)} is VALID [2022-04-14 15:01:23,820 INFO L290 TraceCheckUtils]: 13: Hoare triple {781#(< ~counter~0 5)} assume !!(~x~0 <= ~X~0); {781#(< ~counter~0 5)} is VALID [2022-04-14 15:01:23,823 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {688#true} {781#(< ~counter~0 5)} #58#return; {781#(< ~counter~0 5)} is VALID [2022-04-14 15:01:23,823 INFO L290 TraceCheckUtils]: 11: Hoare triple {688#true} assume true; {688#true} is VALID [2022-04-14 15:01:23,824 INFO L290 TraceCheckUtils]: 10: Hoare triple {688#true} assume !(0 == ~cond); {688#true} is VALID [2022-04-14 15:01:23,824 INFO L290 TraceCheckUtils]: 9: Hoare triple {688#true} ~cond := #in~cond; {688#true} is VALID [2022-04-14 15:01:23,824 INFO L272 TraceCheckUtils]: 8: Hoare triple {781#(< ~counter~0 5)} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {688#true} is VALID [2022-04-14 15:01:23,825 INFO L290 TraceCheckUtils]: 7: Hoare triple {781#(< ~counter~0 5)} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {781#(< ~counter~0 5)} is VALID [2022-04-14 15:01:23,825 INFO L290 TraceCheckUtils]: 6: Hoare triple {812#(< ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {781#(< ~counter~0 5)} is VALID [2022-04-14 15:01:23,826 INFO L290 TraceCheckUtils]: 5: Hoare triple {812#(< ~counter~0 4)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {812#(< ~counter~0 4)} is VALID [2022-04-14 15:01:23,826 INFO L272 TraceCheckUtils]: 4: Hoare triple {812#(< ~counter~0 4)} call #t~ret9 := main(); {812#(< ~counter~0 4)} is VALID [2022-04-14 15:01:23,827 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {812#(< ~counter~0 4)} {688#true} #62#return; {812#(< ~counter~0 4)} is VALID [2022-04-14 15:01:23,827 INFO L290 TraceCheckUtils]: 2: Hoare triple {812#(< ~counter~0 4)} assume true; {812#(< ~counter~0 4)} is VALID [2022-04-14 15:01:23,828 INFO L290 TraceCheckUtils]: 1: Hoare triple {688#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);~counter~0 := 0; {812#(< ~counter~0 4)} is VALID [2022-04-14 15:01:23,829 INFO L272 TraceCheckUtils]: 0: Hoare triple {688#true} call ULTIMATE.init(); {688#true} is VALID [2022-04-14 15:01:23,829 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-14 15:01:23,829 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:01:23,829 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1233906189] [2022-04-14 15:01:23,829 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:01:23,829 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1355957189] [2022-04-14 15:01:23,830 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1355957189] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 15:01:23,830 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 15:01:23,830 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-14 15:01:23,830 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1840763827] [2022-04-14 15:01:23,830 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 15:01:23,831 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 23 [2022-04-14 15:01:23,831 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:01:23,831 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 15:01:23,861 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:01:23,861 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-14 15:01:23,861 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:01:23,861 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-14 15:01:23,862 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-14 15:01:23,862 INFO L87 Difference]: Start difference. First operand 36 states and 40 transitions. Second operand has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 15:01:24,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:01:24,078 INFO L93 Difference]: Finished difference Result 77 states and 85 transitions. [2022-04-14 15:01:24,078 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-14 15:01:24,079 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 23 [2022-04-14 15:01:24,079 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:01:24,079 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 15:01:24,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 76 transitions. [2022-04-14 15:01:24,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 15:01:24,092 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 76 transitions. [2022-04-14 15:01:24,092 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 76 transitions. [2022-04-14 15:01:24,163 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:01:24,166 INFO L225 Difference]: With dead ends: 77 [2022-04-14 15:01:24,166 INFO L226 Difference]: Without dead ends: 71 [2022-04-14 15:01:24,167 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 48 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2022-04-14 15:01:24,171 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 47 mSDsluCounter, 91 mSDsCounter, 0 mSdLazyCounter, 25 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 115 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 25 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 15:01:24,172 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [47 Valid, 115 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 25 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 15:01:24,174 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-14 15:01:24,198 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 59. [2022-04-14 15:01:24,198 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:01:24,199 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 59 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 15:01:24,199 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 59 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 15:01:24,199 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 59 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 15:01:24,202 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:01:24,203 INFO L93 Difference]: Finished difference Result 71 states and 77 transitions. [2022-04-14 15:01:24,203 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 77 transitions. [2022-04-14 15:01:24,203 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:01:24,203 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:01:24,204 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 71 states. [2022-04-14 15:01:24,204 INFO L87 Difference]: Start difference. First operand has 59 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 71 states. [2022-04-14 15:01:24,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:01:24,207 INFO L93 Difference]: Finished difference Result 71 states and 77 transitions. [2022-04-14 15:01:24,207 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 77 transitions. [2022-04-14 15:01:24,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:01:24,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:01:24,208 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:01:24,208 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:01:24,208 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 45 states have (on average 1.1777777777777778) internal successors, (53), 45 states have internal predecessors, (53), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 15:01:24,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 67 transitions. [2022-04-14 15:01:24,210 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 67 transitions. Word has length 23 [2022-04-14 15:01:24,211 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:01:24,211 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 67 transitions. [2022-04-14 15:01:24,211 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.75) internal successors, (30), 8 states have internal predecessors, (30), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 15:01:24,211 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 67 transitions. [2022-04-14 15:01:24,212 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-14 15:01:24,212 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:01:24,212 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 15:01:24,235 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-14 15:01:24,426 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-14 15:01:24,426 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:01:24,427 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:01:24,427 INFO L85 PathProgramCache]: Analyzing trace with hash 1132431350, now seen corresponding path program 1 times [2022-04-14 15:01:24,427 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:01:24,427 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [307176520] [2022-04-14 15:01:24,427 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:01:24,427 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:01:24,442 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:01:24,442 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1734930194] [2022-04-14 15:01:24,442 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:01:24,443 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:01:24,443 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:01:24,444 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-14 15:01:24,469 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-14 15:01:24,504 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:01:24,505 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-14 15:01:24,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:01:24,528 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:01:25,036 INFO L272 TraceCheckUtils]: 0: Hoare triple {1165#true} call ULTIMATE.init(); {1165#true} is VALID [2022-04-14 15:01:25,037 INFO L290 TraceCheckUtils]: 1: Hoare triple {1165#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);~counter~0 := 0; {1165#true} is VALID [2022-04-14 15:01:25,037 INFO L290 TraceCheckUtils]: 2: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-04-14 15:01:25,037 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1165#true} {1165#true} #62#return; {1165#true} is VALID [2022-04-14 15:01:25,037 INFO L272 TraceCheckUtils]: 4: Hoare triple {1165#true} call #t~ret9 := main(); {1165#true} is VALID [2022-04-14 15:01:25,039 INFO L290 TraceCheckUtils]: 5: Hoare triple {1165#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1185#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-14 15:01:25,039 INFO L290 TraceCheckUtils]: 6: Hoare triple {1185#(and (= main_~x~0 0) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1185#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-14 15:01:25,040 INFO L290 TraceCheckUtils]: 7: Hoare triple {1185#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1185#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-14 15:01:25,040 INFO L272 TraceCheckUtils]: 8: Hoare triple {1185#(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)); {1165#true} is VALID [2022-04-14 15:01:25,040 INFO L290 TraceCheckUtils]: 9: Hoare triple {1165#true} ~cond := #in~cond; {1165#true} is VALID [2022-04-14 15:01:25,040 INFO L290 TraceCheckUtils]: 10: Hoare triple {1165#true} assume !(0 == ~cond); {1165#true} is VALID [2022-04-14 15:01:25,040 INFO L290 TraceCheckUtils]: 11: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-04-14 15:01:25,048 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1165#true} {1185#(and (= main_~x~0 0) (= main_~y~0 0))} #58#return; {1185#(and (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-14 15:01:25,049 INFO L290 TraceCheckUtils]: 13: Hoare triple {1185#(and (= main_~x~0 0) (= main_~y~0 0))} assume !!(~x~0 <= ~X~0); {1210#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= main_~y~0 0))} is VALID [2022-04-14 15:01:25,050 INFO L290 TraceCheckUtils]: 14: Hoare triple {1210#(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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {1214#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} is VALID [2022-04-14 15:01:25,050 INFO L290 TraceCheckUtils]: 15: Hoare triple {1214#(and (<= main_~x~0 main_~X~0) (= main_~x~0 0) (= (+ (- 1) main_~y~0) 0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1218#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~X~0))} is VALID [2022-04-14 15:01:25,051 INFO L290 TraceCheckUtils]: 16: Hoare triple {1218#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1218#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~X~0))} is VALID [2022-04-14 15:01:25,051 INFO L290 TraceCheckUtils]: 17: Hoare triple {1218#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~X~0))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1225#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-14 15:01:25,051 INFO L272 TraceCheckUtils]: 18: Hoare triple {1225#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1165#true} is VALID [2022-04-14 15:01:25,052 INFO L290 TraceCheckUtils]: 19: Hoare triple {1165#true} ~cond := #in~cond; {1232#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:01:25,052 INFO L290 TraceCheckUtils]: 20: Hoare triple {1232#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1236#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:01:25,053 INFO L290 TraceCheckUtils]: 21: Hoare triple {1236#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1236#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:01:25,054 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1236#(not (= |__VERIFIER_assert_#in~cond| 0))} {1225#(and (= (+ (- 1) main_~y~0) 0) (= main_~x~0 1) (<= 0 main_~X~0) (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #58#return; {1243#(and (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (<= 0 main_~X~0))} is VALID [2022-04-14 15:01:25,055 INFO L290 TraceCheckUtils]: 23: Hoare triple {1243#(and (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (<= 0 main_~X~0))} assume !(~x~0 <= ~X~0); {1247#(and (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} is VALID [2022-04-14 15:01:25,056 INFO L290 TraceCheckUtils]: 24: Hoare triple {1247#(and (= (+ (- 1) main_~y~0) 0) (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~x~0 1) (<= 0 main_~X~0) (not (<= main_~x~0 main_~X~0)))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1251#(and (not (<= 1 main_~X~0)) (= (+ (- 1) main_~y~0) 0) (= main_~y~0 main_~xy~0) (<= 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-14 15:01:25,057 INFO L272 TraceCheckUtils]: 25: Hoare triple {1251#(and (not (<= 1 main_~X~0)) (= (+ (- 1) main_~y~0) 0) (= main_~y~0 main_~xy~0) (<= 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)); {1255#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:01:25,058 INFO L290 TraceCheckUtils]: 26: Hoare triple {1255#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1259#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:01:25,058 INFO L290 TraceCheckUtils]: 27: Hoare triple {1259#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1166#false} is VALID [2022-04-14 15:01:25,058 INFO L290 TraceCheckUtils]: 28: Hoare triple {1166#false} assume !false; {1166#false} is VALID [2022-04-14 15:01:25,059 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-14 15:01:25,059 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 15:01:25,850 INFO L290 TraceCheckUtils]: 28: Hoare triple {1166#false} assume !false; {1166#false} is VALID [2022-04-14 15:01:25,850 INFO L290 TraceCheckUtils]: 27: Hoare triple {1259#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1166#false} is VALID [2022-04-14 15:01:25,851 INFO L290 TraceCheckUtils]: 26: Hoare triple {1255#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1259#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:01:25,852 INFO L272 TraceCheckUtils]: 25: Hoare triple {1275#(= (+ (* 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)); {1255#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:01:25,853 INFO L290 TraceCheckUtils]: 24: Hoare triple {1279#(= (+ (* 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; {1275#(= (+ (* 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-14 15:01:25,853 INFO L290 TraceCheckUtils]: 23: Hoare triple {1283#(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); {1279#(= (+ (* 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-14 15:01:25,855 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1236#(not (= |__VERIFIER_assert_#in~cond| 0))} {1287#(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)))))} #58#return; {1283#(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-14 15:01:25,855 INFO L290 TraceCheckUtils]: 21: Hoare triple {1236#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1236#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:01:25,856 INFO L290 TraceCheckUtils]: 20: Hoare triple {1297#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1236#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:01:25,856 INFO L290 TraceCheckUtils]: 19: Hoare triple {1165#true} ~cond := #in~cond; {1297#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 15:01:25,856 INFO L272 TraceCheckUtils]: 18: Hoare triple {1287#(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)); {1165#true} is VALID [2022-04-14 15:01:25,858 INFO L290 TraceCheckUtils]: 17: Hoare triple {1304#(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 !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1287#(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-14 15:01:25,859 INFO L290 TraceCheckUtils]: 16: Hoare triple {1304#(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))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1304#(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-14 15:01:25,861 INFO L290 TraceCheckUtils]: 15: Hoare triple {1311#(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~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1304#(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-14 15:01:25,863 INFO L290 TraceCheckUtils]: 14: Hoare triple {1315#(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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {1311#(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-14 15:01:25,865 INFO L290 TraceCheckUtils]: 13: Hoare triple {1165#true} assume !!(~x~0 <= ~X~0); {1315#(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-14 15:01:25,865 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1165#true} {1165#true} #58#return; {1165#true} is VALID [2022-04-14 15:01:25,865 INFO L290 TraceCheckUtils]: 11: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-04-14 15:01:25,865 INFO L290 TraceCheckUtils]: 10: Hoare triple {1165#true} assume !(0 == ~cond); {1165#true} is VALID [2022-04-14 15:01:25,865 INFO L290 TraceCheckUtils]: 9: Hoare triple {1165#true} ~cond := #in~cond; {1165#true} is VALID [2022-04-14 15:01:25,865 INFO L272 TraceCheckUtils]: 8: Hoare triple {1165#true} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1165#true} is VALID [2022-04-14 15:01:25,865 INFO L290 TraceCheckUtils]: 7: Hoare triple {1165#true} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1165#true} is VALID [2022-04-14 15:01:25,866 INFO L290 TraceCheckUtils]: 6: Hoare triple {1165#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1165#true} is VALID [2022-04-14 15:01:25,866 INFO L290 TraceCheckUtils]: 5: Hoare triple {1165#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1165#true} is VALID [2022-04-14 15:01:25,866 INFO L272 TraceCheckUtils]: 4: Hoare triple {1165#true} call #t~ret9 := main(); {1165#true} is VALID [2022-04-14 15:01:25,866 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1165#true} {1165#true} #62#return; {1165#true} is VALID [2022-04-14 15:01:25,866 INFO L290 TraceCheckUtils]: 2: Hoare triple {1165#true} assume true; {1165#true} is VALID [2022-04-14 15:01:25,866 INFO L290 TraceCheckUtils]: 1: Hoare triple {1165#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);~counter~0 := 0; {1165#true} is VALID [2022-04-14 15:01:25,866 INFO L272 TraceCheckUtils]: 0: Hoare triple {1165#true} call ULTIMATE.init(); {1165#true} is VALID [2022-04-14 15:01:25,867 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 10 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-14 15:01:25,867 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:01:25,867 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [307176520] [2022-04-14 15:01:25,867 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:01:25,867 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1734930194] [2022-04-14 15:01:25,867 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1734930194] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 15:01:25,867 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 15:01:25,867 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 22 [2022-04-14 15:01:25,867 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [630745880] [2022-04-14 15:01:25,868 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 15:01:25,868 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Word has length 29 [2022-04-14 15:01:25,869 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:01:25,869 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-14 15:01:25,921 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:01:25,921 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-14 15:01:25,921 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:01:25,922 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-14 15:01:25,922 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=389, Unknown=0, NotChecked=0, Total=462 [2022-04-14 15:01:25,922 INFO L87 Difference]: Start difference. First operand 59 states and 67 transitions. Second operand has 22 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-14 15:01:27,145 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:01:27,145 INFO L93 Difference]: Finished difference Result 85 states and 98 transitions. [2022-04-14 15:01:27,145 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-14 15:01:27,146 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Word has length 29 [2022-04-14 15:01:27,146 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:01:27,146 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-14 15:01:27,148 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 61 transitions. [2022-04-14 15:01:27,149 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-14 15:01:27,150 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 61 transitions. [2022-04-14 15:01:27,150 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 61 transitions. [2022-04-14 15:01:27,229 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:01:27,231 INFO L225 Difference]: With dead ends: 85 [2022-04-14 15:01:27,231 INFO L226 Difference]: Without dead ends: 77 [2022-04-14 15:01:27,232 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 38 SyntacticMatches, 1 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 265 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=222, Invalid=1110, Unknown=0, NotChecked=0, Total=1332 [2022-04-14 15:01:27,233 INFO L913 BasicCegarLoop]: 15 mSDtfsCounter, 40 mSDsluCounter, 123 mSDsCounter, 0 mSdLazyCounter, 193 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 310 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 193 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 90 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-14 15:01:27,233 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 138 Invalid, 310 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 193 Invalid, 0 Unknown, 90 Unchecked, 0.3s Time] [2022-04-14 15:01:27,233 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2022-04-14 15:01:27,258 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 67. [2022-04-14 15:01:27,258 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:01:27,259 INFO L82 GeneralOperation]: Start isEquivalent. First operand 77 states. Second operand has 67 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 52 states have internal predecessors, (60), 9 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 15:01:27,259 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand has 67 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 52 states have internal predecessors, (60), 9 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 15:01:27,259 INFO L87 Difference]: Start difference. First operand 77 states. Second operand has 67 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 52 states have internal predecessors, (60), 9 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 15:01:27,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:01:27,262 INFO L93 Difference]: Finished difference Result 77 states and 88 transitions. [2022-04-14 15:01:27,262 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 88 transitions. [2022-04-14 15:01:27,263 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:01:27,263 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:01:27,263 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 52 states have internal predecessors, (60), 9 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 77 states. [2022-04-14 15:01:27,264 INFO L87 Difference]: Start difference. First operand has 67 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 52 states have internal predecessors, (60), 9 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 77 states. [2022-04-14 15:01:27,266 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:01:27,266 INFO L93 Difference]: Finished difference Result 77 states and 88 transitions. [2022-04-14 15:01:27,267 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 88 transitions. [2022-04-14 15:01:27,267 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:01:27,267 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:01:27,267 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:01:27,267 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:01:27,268 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 52 states have (on average 1.1538461538461537) internal successors, (60), 52 states have internal predecessors, (60), 9 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 15:01:27,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 76 transitions. [2022-04-14 15:01:27,270 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 76 transitions. Word has length 29 [2022-04-14 15:01:27,270 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:01:27,270 INFO L478 AbstractCegarLoop]: Abstraction has 67 states and 76 transitions. [2022-04-14 15:01:27,271 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 18 states have (on average 1.8333333333333333) internal successors, (33), 19 states have internal predecessors, (33), 6 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-14 15:01:27,271 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 76 transitions. [2022-04-14 15:01:27,271 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-14 15:01:27,271 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:01:27,272 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 15:01:27,299 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-14 15:01:27,486 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-14 15:01:27,487 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:01:27,487 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:01:27,487 INFO L85 PathProgramCache]: Analyzing trace with hash -1565736524, now seen corresponding path program 1 times [2022-04-14 15:01:27,487 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:01:27,487 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [371244172] [2022-04-14 15:01:27,487 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:01:27,488 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:01:27,506 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:01:27,507 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [33195929] [2022-04-14 15:01:27,507 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:01:27,507 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:01:27,507 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:01:27,508 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-14 15:01:27,510 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-14 15:01:27,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:01:27,553 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-14 15:01:27,568 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:01:27,571 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:01:39,684 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 15:01:49,404 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 15:01:55,615 INFO L272 TraceCheckUtils]: 0: Hoare triple {1752#true} call ULTIMATE.init(); {1752#true} is VALID [2022-04-14 15:01:55,615 INFO L290 TraceCheckUtils]: 1: Hoare triple {1752#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);~counter~0 := 0; {1752#true} is VALID [2022-04-14 15:01:55,615 INFO L290 TraceCheckUtils]: 2: Hoare triple {1752#true} assume true; {1752#true} is VALID [2022-04-14 15:01:55,615 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1752#true} {1752#true} #62#return; {1752#true} is VALID [2022-04-14 15:01:55,616 INFO L272 TraceCheckUtils]: 4: Hoare triple {1752#true} call #t~ret9 := main(); {1752#true} is VALID [2022-04-14 15:01:55,616 INFO L290 TraceCheckUtils]: 5: Hoare triple {1752#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1772#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-14 15:01:55,617 INFO L290 TraceCheckUtils]: 6: Hoare triple {1772#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1772#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} is VALID [2022-04-14 15:01:55,617 INFO L290 TraceCheckUtils]: 7: Hoare triple {1772#(and (= main_~x~0 0) (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (= main_~y~0 0))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1779#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (<= 0 main_~yx~0) (= main_~y~0 0) (<= main_~xy~0 (* main_~X~0 main_~y~0)))} is VALID [2022-04-14 15:01:55,617 INFO L272 TraceCheckUtils]: 8: Hoare triple {1779#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (<= 0 main_~yx~0) (= main_~y~0 0) (<= main_~xy~0 (* main_~X~0 main_~y~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1752#true} is VALID [2022-04-14 15:01:55,618 INFO L290 TraceCheckUtils]: 9: Hoare triple {1752#true} ~cond := #in~cond; {1786#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:01:55,618 INFO L290 TraceCheckUtils]: 10: Hoare triple {1786#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:01:55,619 INFO L290 TraceCheckUtils]: 11: Hoare triple {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:01:55,620 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} {1779#(and (<= (+ main_~X~0 main_~v~0) (* main_~Y~0 2)) (<= 0 main_~yx~0) (= main_~y~0 0) (<= main_~xy~0 (* main_~X~0 main_~y~0)))} #58#return; {1797#(= main_~y~0 0)} is VALID [2022-04-14 15:01:55,620 INFO L290 TraceCheckUtils]: 13: Hoare triple {1797#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {1797#(= main_~y~0 0)} is VALID [2022-04-14 15:01:55,620 INFO L290 TraceCheckUtils]: 14: Hoare triple {1797#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1797#(= main_~y~0 0)} is VALID [2022-04-14 15:01:55,621 INFO L290 TraceCheckUtils]: 15: Hoare triple {1797#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1797#(= main_~y~0 0)} is VALID [2022-04-14 15:01:55,621 INFO L290 TraceCheckUtils]: 16: Hoare triple {1797#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1797#(= main_~y~0 0)} is VALID [2022-04-14 15:01:55,622 INFO L290 TraceCheckUtils]: 17: Hoare triple {1797#(= main_~y~0 0)} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1797#(= main_~y~0 0)} is VALID [2022-04-14 15:01:55,622 INFO L272 TraceCheckUtils]: 18: Hoare triple {1797#(= 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)); {1752#true} is VALID [2022-04-14 15:01:55,622 INFO L290 TraceCheckUtils]: 19: Hoare triple {1752#true} ~cond := #in~cond; {1752#true} is VALID [2022-04-14 15:01:55,622 INFO L290 TraceCheckUtils]: 20: Hoare triple {1752#true} assume !(0 == ~cond); {1752#true} is VALID [2022-04-14 15:01:55,622 INFO L290 TraceCheckUtils]: 21: Hoare triple {1752#true} assume true; {1752#true} is VALID [2022-04-14 15:01:55,623 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1752#true} {1797#(= main_~y~0 0)} #58#return; {1797#(= main_~y~0 0)} is VALID [2022-04-14 15:01:55,623 INFO L290 TraceCheckUtils]: 23: Hoare triple {1797#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {1797#(= main_~y~0 0)} is VALID [2022-04-14 15:01:55,624 INFO L290 TraceCheckUtils]: 24: Hoare triple {1797#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1797#(= main_~y~0 0)} is VALID [2022-04-14 15:01:55,624 INFO L290 TraceCheckUtils]: 25: Hoare triple {1797#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1797#(= main_~y~0 0)} is VALID [2022-04-14 15:01:55,624 INFO L290 TraceCheckUtils]: 26: Hoare triple {1797#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1797#(= main_~y~0 0)} is VALID [2022-04-14 15:01:55,625 INFO L290 TraceCheckUtils]: 27: Hoare triple {1797#(= main_~y~0 0)} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1843#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} is VALID [2022-04-14 15:01:55,625 INFO L272 TraceCheckUtils]: 28: Hoare triple {1843#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {1752#true} is VALID [2022-04-14 15:01:55,625 INFO L290 TraceCheckUtils]: 29: Hoare triple {1752#true} ~cond := #in~cond; {1786#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:01:55,626 INFO L290 TraceCheckUtils]: 30: Hoare triple {1786#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:01:55,626 INFO L290 TraceCheckUtils]: 31: Hoare triple {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:01:55,628 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} {1843#(and (= (* main_~X~0 main_~y~0) main_~xy~0) (= main_~y~0 0) (= main_~yx~0 (* main_~Y~0 main_~x~0)))} #58#return; {1859#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-14 15:01:55,628 INFO L290 TraceCheckUtils]: 33: Hoare triple {1859#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} assume !(~x~0 <= ~X~0); {1859#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} is VALID [2022-04-14 15:01:57,630 WARN L290 TraceCheckUtils]: 34: Hoare triple {1859#(and (= (+ (* main_~Y~0 2) (* 2 (* main_~Y~0 main_~x~0))) (+ (* (* main_~X~0 main_~y~0) 2) main_~X~0 main_~v~0)) (= main_~y~0 0))} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {1866#(and (= main_~y~0 0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~xy~0 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)))) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} is UNKNOWN [2022-04-14 15:01:57,632 INFO L272 TraceCheckUtils]: 35: Hoare triple {1866#(and (= main_~y~0 0) (or (and (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (= main_~xy~0 0) (= main_~yx~0 0) (= 0 (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)))) (and (= (* main_~y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0)) main_~xy~0) (= (mod (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0) 0) (= (mod (+ (* main_~X~0 main_~y~0 2) main_~X~0 main_~v~0) 2) 0) (not (= main_~Y~0 0)) (= main_~yx~0 (* main_~Y~0 (div (+ (* main_~X~0 main_~y~0) (div (+ main_~X~0 main_~v~0) 2) (* (- 1) main_~Y~0)) main_~Y~0))))))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 + 2 * ~y~0 then 1 else 0)); {1870#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:01:57,632 INFO L290 TraceCheckUtils]: 36: Hoare triple {1870#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1874#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:01:57,633 INFO L290 TraceCheckUtils]: 37: Hoare triple {1874#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1753#false} is VALID [2022-04-14 15:01:57,633 INFO L290 TraceCheckUtils]: 38: Hoare triple {1753#false} assume !false; {1753#false} is VALID [2022-04-14 15:01:57,633 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 10 proven. 11 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2022-04-14 15:01:57,633 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 15:02:03,069 INFO L290 TraceCheckUtils]: 38: Hoare triple {1753#false} assume !false; {1753#false} is VALID [2022-04-14 15:02:03,069 INFO L290 TraceCheckUtils]: 37: Hoare triple {1874#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1753#false} is VALID [2022-04-14 15:02:03,070 INFO L290 TraceCheckUtils]: 36: Hoare triple {1870#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1874#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 15:02:03,071 INFO L272 TraceCheckUtils]: 35: Hoare triple {1890#(= (+ (* 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)); {1870#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 15:02:03,072 INFO L290 TraceCheckUtils]: 34: Hoare triple {1894#(= (+ (* 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; {1890#(= (+ (* 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-14 15:02:03,072 INFO L290 TraceCheckUtils]: 33: Hoare triple {1894#(= (+ (* 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); {1894#(= (+ (* 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-14 15:02:03,074 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} {1901#(= (+ (* 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))))} #58#return; {1894#(= (+ (* 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-14 15:02:03,074 INFO L290 TraceCheckUtils]: 31: Hoare triple {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:02:03,075 INFO L290 TraceCheckUtils]: 30: Hoare triple {1911#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:02:03,075 INFO L290 TraceCheckUtils]: 29: Hoare triple {1752#true} ~cond := #in~cond; {1911#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 15:02:03,075 INFO L272 TraceCheckUtils]: 28: Hoare triple {1901#(= (+ (* 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)); {1752#true} is VALID [2022-04-14 15:02:03,076 INFO L290 TraceCheckUtils]: 27: Hoare triple {1797#(= main_~y~0 0)} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1901#(= (+ (* 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-14 15:02:03,076 INFO L290 TraceCheckUtils]: 26: Hoare triple {1797#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1797#(= main_~y~0 0)} is VALID [2022-04-14 15:02:03,076 INFO L290 TraceCheckUtils]: 25: Hoare triple {1797#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1797#(= main_~y~0 0)} is VALID [2022-04-14 15:02:03,077 INFO L290 TraceCheckUtils]: 24: Hoare triple {1797#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1797#(= main_~y~0 0)} is VALID [2022-04-14 15:02:03,077 INFO L290 TraceCheckUtils]: 23: Hoare triple {1797#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {1797#(= main_~y~0 0)} is VALID [2022-04-14 15:02:03,078 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1752#true} {1797#(= main_~y~0 0)} #58#return; {1797#(= main_~y~0 0)} is VALID [2022-04-14 15:02:03,078 INFO L290 TraceCheckUtils]: 21: Hoare triple {1752#true} assume true; {1752#true} is VALID [2022-04-14 15:02:03,078 INFO L290 TraceCheckUtils]: 20: Hoare triple {1752#true} assume !(0 == ~cond); {1752#true} is VALID [2022-04-14 15:02:03,078 INFO L290 TraceCheckUtils]: 19: Hoare triple {1752#true} ~cond := #in~cond; {1752#true} is VALID [2022-04-14 15:02:03,078 INFO L272 TraceCheckUtils]: 18: Hoare triple {1797#(= 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)); {1752#true} is VALID [2022-04-14 15:02:03,079 INFO L290 TraceCheckUtils]: 17: Hoare triple {1797#(= main_~y~0 0)} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1797#(= main_~y~0 0)} is VALID [2022-04-14 15:02:03,079 INFO L290 TraceCheckUtils]: 16: Hoare triple {1797#(= main_~y~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1797#(= main_~y~0 0)} is VALID [2022-04-14 15:02:03,079 INFO L290 TraceCheckUtils]: 15: Hoare triple {1797#(= main_~y~0 0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {1797#(= main_~y~0 0)} is VALID [2022-04-14 15:02:03,080 INFO L290 TraceCheckUtils]: 14: Hoare triple {1797#(= main_~y~0 0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {1797#(= main_~y~0 0)} is VALID [2022-04-14 15:02:03,080 INFO L290 TraceCheckUtils]: 13: Hoare triple {1797#(= main_~y~0 0)} assume !!(~x~0 <= ~X~0); {1797#(= main_~y~0 0)} is VALID [2022-04-14 15:02:03,081 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} {1963#(or (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= main_~y~0 0))} #58#return; {1797#(= main_~y~0 0)} is VALID [2022-04-14 15:02:03,082 INFO L290 TraceCheckUtils]: 11: Hoare triple {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:02:03,082 INFO L290 TraceCheckUtils]: 10: Hoare triple {1911#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1790#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 15:02:03,088 INFO L290 TraceCheckUtils]: 9: Hoare triple {1752#true} ~cond := #in~cond; {1911#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 15:02:03,088 INFO L272 TraceCheckUtils]: 8: Hoare triple {1963#(or (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~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)); {1752#true} is VALID [2022-04-14 15:02:03,090 INFO L290 TraceCheckUtils]: 7: Hoare triple {1979#(or (not (= (mod (+ main_~X~0 main_~v~0) 2) 0)) (= main_~y~0 0) (< (* main_~X~0 main_~y~0) (+ main_~Y~0 (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 main_~x~0))))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {1963#(or (not (= (+ (* 2 main_~xy~0) main_~X~0 main_~v~0) (+ (* main_~Y~0 2) (* 2 main_~yx~0)))) (= main_~y~0 0))} is VALID [2022-04-14 15:02:03,090 INFO L290 TraceCheckUtils]: 6: Hoare triple {1979#(or (not (= (mod (+ main_~X~0 main_~v~0) 2) 0)) (= main_~y~0 0) (< (* main_~X~0 main_~y~0) (+ main_~Y~0 (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 main_~x~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1979#(or (not (= (mod (+ main_~X~0 main_~v~0) 2) 0)) (= main_~y~0 0) (< (* main_~X~0 main_~y~0) (+ main_~Y~0 (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 main_~x~0))))} is VALID [2022-04-14 15:02:03,091 INFO L290 TraceCheckUtils]: 5: Hoare triple {1752#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {1979#(or (not (= (mod (+ main_~X~0 main_~v~0) 2) 0)) (= main_~y~0 0) (< (* main_~X~0 main_~y~0) (+ main_~Y~0 (div (+ (* (- 1) main_~X~0) (* (- 1) main_~v~0)) 2) (* main_~Y~0 main_~x~0))))} is VALID [2022-04-14 15:02:03,091 INFO L272 TraceCheckUtils]: 4: Hoare triple {1752#true} call #t~ret9 := main(); {1752#true} is VALID [2022-04-14 15:02:03,091 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1752#true} {1752#true} #62#return; {1752#true} is VALID [2022-04-14 15:02:03,091 INFO L290 TraceCheckUtils]: 2: Hoare triple {1752#true} assume true; {1752#true} is VALID [2022-04-14 15:02:03,092 INFO L290 TraceCheckUtils]: 1: Hoare triple {1752#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);~counter~0 := 0; {1752#true} is VALID [2022-04-14 15:02:03,092 INFO L272 TraceCheckUtils]: 0: Hoare triple {1752#true} call ULTIMATE.init(); {1752#true} is VALID [2022-04-14 15:02:03,092 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 12 proven. 9 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2022-04-14 15:02:03,092 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:02:03,092 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [371244172] [2022-04-14 15:02:03,092 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:02:03,093 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [33195929] [2022-04-14 15:02:03,093 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [33195929] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 15:02:03,093 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 15:02:03,093 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 18 [2022-04-14 15:02:03,093 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [440396244] [2022-04-14 15:02:03,093 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 15:02:03,094 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 12 states have (on average 2.5) internal successors, (30), 17 states have internal predecessors, (30), 8 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) Word has length 39 [2022-04-14 15:02:03,094 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:02:03,095 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 12 states have (on average 2.5) internal successors, (30), 17 states have internal predecessors, (30), 8 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 15:02:05,129 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 44 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-14 15:02:05,129 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-14 15:02:05,129 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:02:05,130 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-14 15:02:05,130 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=248, Unknown=0, NotChecked=0, Total=306 [2022-04-14 15:02:05,130 INFO L87 Difference]: Start difference. First operand 67 states and 76 transitions. Second operand has 18 states, 12 states have (on average 2.5) internal successors, (30), 17 states have internal predecessors, (30), 8 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 15:02:07,566 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-14 15:02:11,604 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-14 15:02:13,639 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-14 15:02:16,008 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:02:16,008 INFO L93 Difference]: Finished difference Result 96 states and 113 transitions. [2022-04-14 15:02:16,008 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-14 15:02:16,009 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 12 states have (on average 2.5) internal successors, (30), 17 states have internal predecessors, (30), 8 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) Word has length 39 [2022-04-14 15:02:16,009 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:02:16,009 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 12 states have (on average 2.5) internal successors, (30), 17 states have internal predecessors, (30), 8 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 15:02:16,011 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 49 transitions. [2022-04-14 15:02:16,011 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 12 states have (on average 2.5) internal successors, (30), 17 states have internal predecessors, (30), 8 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 15:02:16,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 49 transitions. [2022-04-14 15:02:16,012 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 49 transitions. [2022-04-14 15:02:18,056 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 48 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-14 15:02:18,059 INFO L225 Difference]: With dead ends: 96 [2022-04-14 15:02:18,059 INFO L226 Difference]: Without dead ends: 90 [2022-04-14 15:02:18,059 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 59 SyntacticMatches, 2 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 89 ImplicationChecksByTransitivity, 4.7s TimeCoverageRelationStatistics Valid=117, Invalid=433, Unknown=2, NotChecked=0, Total=552 [2022-04-14 15:02:18,060 INFO L913 BasicCegarLoop]: 12 mSDtfsCounter, 34 mSDsluCounter, 111 mSDsCounter, 0 mSdLazyCounter, 182 mSolverCounterSat, 18 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 203 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 182 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.2s IncrementalHoareTripleChecker+Time [2022-04-14 15:02:18,060 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 123 Invalid, 203 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 182 Invalid, 3 Unknown, 0 Unchecked, 6.2s Time] [2022-04-14 15:02:18,061 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2022-04-14 15:02:18,092 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 88. [2022-04-14 15:02:18,093 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:02:18,093 INFO L82 GeneralOperation]: Start isEquivalent. First operand 90 states. Second operand has 88 states, 70 states have (on average 1.1714285714285715) internal successors, (82), 70 states have internal predecessors, (82), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 15:02:18,093 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand has 88 states, 70 states have (on average 1.1714285714285715) internal successors, (82), 70 states have internal predecessors, (82), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 15:02:18,094 INFO L87 Difference]: Start difference. First operand 90 states. Second operand has 88 states, 70 states have (on average 1.1714285714285715) internal successors, (82), 70 states have internal predecessors, (82), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 15:02:18,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:02:18,097 INFO L93 Difference]: Finished difference Result 90 states and 106 transitions. [2022-04-14 15:02:18,097 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 106 transitions. [2022-04-14 15:02:18,097 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:02:18,098 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:02:18,098 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 70 states have (on average 1.1714285714285715) internal successors, (82), 70 states have internal predecessors, (82), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 90 states. [2022-04-14 15:02:18,098 INFO L87 Difference]: Start difference. First operand has 88 states, 70 states have (on average 1.1714285714285715) internal successors, (82), 70 states have internal predecessors, (82), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 90 states. [2022-04-14 15:02:18,101 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:02:18,101 INFO L93 Difference]: Finished difference Result 90 states and 106 transitions. [2022-04-14 15:02:18,101 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 106 transitions. [2022-04-14 15:02:18,102 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:02:18,102 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:02:18,102 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:02:18,102 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:02:18,102 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 70 states have (on average 1.1714285714285715) internal successors, (82), 70 states have internal predecessors, (82), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 15:02:18,105 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 104 transitions. [2022-04-14 15:02:18,105 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 104 transitions. Word has length 39 [2022-04-14 15:02:18,105 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:02:18,106 INFO L478 AbstractCegarLoop]: Abstraction has 88 states and 104 transitions. [2022-04-14 15:02:18,106 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 12 states have (on average 2.5) internal successors, (30), 17 states have internal predecessors, (30), 8 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 15:02:18,106 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 104 transitions. [2022-04-14 15:02:18,107 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-14 15:02:18,107 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:02:18,107 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 15:02:18,129 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-14 15:02:18,319 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-14 15:02:18,320 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:02:18,320 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:02:18,320 INFO L85 PathProgramCache]: Analyzing trace with hash -1425187914, now seen corresponding path program 1 times [2022-04-14 15:02:18,320 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:02:18,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1010484584] [2022-04-14 15:02:18,320 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:02:18,321 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:02:18,337 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:02:18,337 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1699502493] [2022-04-14 15:02:18,337 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:02:18,338 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:02:18,338 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:02:18,341 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-14 15:02:18,342 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-14 15:02:18,389 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:02:18,390 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-14 15:02:18,403 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:02:18,405 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:02:19,568 INFO L272 TraceCheckUtils]: 0: Hoare triple {2444#true} call ULTIMATE.init(); {2444#true} is VALID [2022-04-14 15:02:19,569 INFO L290 TraceCheckUtils]: 1: Hoare triple {2444#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);~counter~0 := 0; {2444#true} is VALID [2022-04-14 15:02:19,569 INFO L290 TraceCheckUtils]: 2: Hoare triple {2444#true} assume true; {2444#true} is VALID [2022-04-14 15:02:19,569 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2444#true} {2444#true} #62#return; {2444#true} is VALID [2022-04-14 15:02:19,569 INFO L272 TraceCheckUtils]: 4: Hoare triple {2444#true} call #t~ret9 := main(); {2444#true} is VALID [2022-04-14 15:02:19,572 INFO L290 TraceCheckUtils]: 5: Hoare triple {2444#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-14 15:02:19,572 INFO L290 TraceCheckUtils]: 6: Hoare triple {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-14 15:02:19,573 INFO L290 TraceCheckUtils]: 7: Hoare triple {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-14 15:02:19,573 INFO L272 TraceCheckUtils]: 8: Hoare triple {2464#(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)); {2444#true} is VALID [2022-04-14 15:02:19,573 INFO L290 TraceCheckUtils]: 9: Hoare triple {2444#true} ~cond := #in~cond; {2444#true} is VALID [2022-04-14 15:02:19,573 INFO L290 TraceCheckUtils]: 10: Hoare triple {2444#true} assume !(0 == ~cond); {2444#true} is VALID [2022-04-14 15:02:19,573 INFO L290 TraceCheckUtils]: 11: Hoare triple {2444#true} assume true; {2444#true} is VALID [2022-04-14 15:02:19,574 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2444#true} {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} #58#return; {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-14 15:02:19,576 INFO L290 TraceCheckUtils]: 13: Hoare triple {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} assume !!(~x~0 <= ~X~0); {2464#(and (<= main_~x~0 0) (= (+ (* (- 1) main_~X~0) (* main_~Y~0 2)) main_~v~0))} is VALID [2022-04-14 15:02:19,577 INFO L290 TraceCheckUtils]: 14: Hoare triple {2464#(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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {2492#(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-14 15:02:19,577 INFO L290 TraceCheckUtils]: 15: Hoare triple {2492#(and (<= main_~x~0 0) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2496#(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-14 15:02:19,578 INFO L290 TraceCheckUtils]: 16: Hoare triple {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2496#(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-14 15:02:19,578 INFO L290 TraceCheckUtils]: 17: Hoare triple {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2496#(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-14 15:02:19,578 INFO L272 TraceCheckUtils]: 18: Hoare triple {2496#(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)); {2444#true} is VALID [2022-04-14 15:02:19,578 INFO L290 TraceCheckUtils]: 19: Hoare triple {2444#true} ~cond := #in~cond; {2444#true} is VALID [2022-04-14 15:02:19,579 INFO L290 TraceCheckUtils]: 20: Hoare triple {2444#true} assume !(0 == ~cond); {2444#true} is VALID [2022-04-14 15:02:19,579 INFO L290 TraceCheckUtils]: 21: Hoare triple {2444#true} assume true; {2444#true} is VALID [2022-04-14 15:02:19,579 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2444#true} {2496#(and (<= main_~x~0 1) (<= (+ (div (+ (- 1) main_~X~0) 2) 1) (div (+ main_~v~0 (* main_~X~0 3)) 4)))} #58#return; {2496#(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-14 15:02:19,580 INFO L290 TraceCheckUtils]: 23: Hoare triple {2496#(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); {2496#(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-14 15:02:19,580 INFO L290 TraceCheckUtils]: 24: Hoare triple {2496#(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; {2524#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 1))} is VALID [2022-04-14 15:02:19,581 INFO L290 TraceCheckUtils]: 25: Hoare triple {2524#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 1))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-14 15:02:19,581 INFO L290 TraceCheckUtils]: 26: Hoare triple {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-14 15:02:19,582 INFO L290 TraceCheckUtils]: 27: Hoare triple {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-14 15:02:19,582 INFO L272 TraceCheckUtils]: 28: Hoare triple {2528#(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)); {2444#true} is VALID [2022-04-14 15:02:19,582 INFO L290 TraceCheckUtils]: 29: Hoare triple {2444#true} ~cond := #in~cond; {2444#true} is VALID [2022-04-14 15:02:19,582 INFO L290 TraceCheckUtils]: 30: Hoare triple {2444#true} assume !(0 == ~cond); {2444#true} is VALID [2022-04-14 15:02:19,582 INFO L290 TraceCheckUtils]: 31: Hoare triple {2444#true} assume true; {2444#true} is VALID [2022-04-14 15:02:19,584 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2444#true} {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} #58#return; {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} is VALID [2022-04-14 15:02:19,585 INFO L290 TraceCheckUtils]: 33: Hoare triple {2528#(and (< (div (+ (- 1) main_~X~0) 2) (div (+ (- 1) (* main_~X~0 3)) 4)) (<= main_~x~0 2))} assume !(~x~0 <= ~X~0); {2445#false} is VALID [2022-04-14 15:02:19,585 INFO L290 TraceCheckUtils]: 34: Hoare triple {2445#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {2445#false} is VALID [2022-04-14 15:02:19,585 INFO L272 TraceCheckUtils]: 35: Hoare triple {2445#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)); {2445#false} is VALID [2022-04-14 15:02:19,585 INFO L290 TraceCheckUtils]: 36: Hoare triple {2445#false} ~cond := #in~cond; {2445#false} is VALID [2022-04-14 15:02:19,585 INFO L290 TraceCheckUtils]: 37: Hoare triple {2445#false} assume 0 == ~cond; {2445#false} is VALID [2022-04-14 15:02:19,585 INFO L290 TraceCheckUtils]: 38: Hoare triple {2445#false} assume !false; {2445#false} is VALID [2022-04-14 15:02:19,586 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 6 proven. 14 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-14 15:02:19,586 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 15:02:20,015 INFO L290 TraceCheckUtils]: 38: Hoare triple {2445#false} assume !false; {2445#false} is VALID [2022-04-14 15:02:20,015 INFO L290 TraceCheckUtils]: 37: Hoare triple {2445#false} assume 0 == ~cond; {2445#false} is VALID [2022-04-14 15:02:20,015 INFO L290 TraceCheckUtils]: 36: Hoare triple {2445#false} ~cond := #in~cond; {2445#false} is VALID [2022-04-14 15:02:20,015 INFO L272 TraceCheckUtils]: 35: Hoare triple {2445#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)); {2445#false} is VALID [2022-04-14 15:02:20,015 INFO L290 TraceCheckUtils]: 34: Hoare triple {2445#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {2445#false} is VALID [2022-04-14 15:02:20,016 INFO L290 TraceCheckUtils]: 33: Hoare triple {2583#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {2445#false} is VALID [2022-04-14 15:02:20,016 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2444#true} {2583#(<= main_~x~0 main_~X~0)} #58#return; {2583#(<= main_~x~0 main_~X~0)} is VALID [2022-04-14 15:02:20,016 INFO L290 TraceCheckUtils]: 31: Hoare triple {2444#true} assume true; {2444#true} is VALID [2022-04-14 15:02:20,016 INFO L290 TraceCheckUtils]: 30: Hoare triple {2444#true} assume !(0 == ~cond); {2444#true} is VALID [2022-04-14 15:02:20,016 INFO L290 TraceCheckUtils]: 29: Hoare triple {2444#true} ~cond := #in~cond; {2444#true} is VALID [2022-04-14 15:02:20,017 INFO L272 TraceCheckUtils]: 28: Hoare triple {2583#(<= 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)); {2444#true} is VALID [2022-04-14 15:02:20,017 INFO L290 TraceCheckUtils]: 27: Hoare triple {2583#(<= main_~x~0 main_~X~0)} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2583#(<= main_~x~0 main_~X~0)} is VALID [2022-04-14 15:02:20,017 INFO L290 TraceCheckUtils]: 26: Hoare triple {2583#(<= main_~x~0 main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2583#(<= main_~x~0 main_~X~0)} is VALID [2022-04-14 15:02:20,018 INFO L290 TraceCheckUtils]: 25: Hoare triple {2608#(<= (+ main_~x~0 1) main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2583#(<= main_~x~0 main_~X~0)} is VALID [2022-04-14 15:02:20,025 INFO L290 TraceCheckUtils]: 24: Hoare triple {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {2608#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-14 15:02:20,025 INFO L290 TraceCheckUtils]: 23: Hoare triple {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume !!(~x~0 <= ~X~0); {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-14 15:02:20,026 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2444#true} {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} #58#return; {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-14 15:02:20,026 INFO L290 TraceCheckUtils]: 21: Hoare triple {2444#true} assume true; {2444#true} is VALID [2022-04-14 15:02:20,026 INFO L290 TraceCheckUtils]: 20: Hoare triple {2444#true} assume !(0 == ~cond); {2444#true} is VALID [2022-04-14 15:02:20,026 INFO L290 TraceCheckUtils]: 19: Hoare triple {2444#true} ~cond := #in~cond; {2444#true} is VALID [2022-04-14 15:02:20,026 INFO L272 TraceCheckUtils]: 18: Hoare triple {2612#(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)); {2444#true} is VALID [2022-04-14 15:02:20,027 INFO L290 TraceCheckUtils]: 17: Hoare triple {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-14 15:02:20,027 INFO L290 TraceCheckUtils]: 16: Hoare triple {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-14 15:02:20,028 INFO L290 TraceCheckUtils]: 15: Hoare triple {2640#(or (<= (+ main_~x~0 2) main_~X~0) (not (< main_~v~0 0)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {2612#(or (not (< main_~v~0 0)) (<= (+ main_~x~0 1) main_~X~0))} is VALID [2022-04-14 15:02:20,028 INFO L290 TraceCheckUtils]: 14: Hoare triple {2644#(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~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {2640#(or (<= (+ main_~x~0 2) main_~X~0) (not (< main_~v~0 0)))} is VALID [2022-04-14 15:02:20,029 INFO L290 TraceCheckUtils]: 13: Hoare triple {2644#(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); {2644#(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-14 15:02:20,029 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2444#true} {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} #58#return; {2644#(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-14 15:02:20,030 INFO L290 TraceCheckUtils]: 11: Hoare triple {2444#true} assume true; {2444#true} is VALID [2022-04-14 15:02:20,030 INFO L290 TraceCheckUtils]: 10: Hoare triple {2444#true} assume !(0 == ~cond); {2444#true} is VALID [2022-04-14 15:02:20,030 INFO L290 TraceCheckUtils]: 9: Hoare triple {2444#true} ~cond := #in~cond; {2444#true} is VALID [2022-04-14 15:02:20,030 INFO L272 TraceCheckUtils]: 8: Hoare triple {2644#(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)); {2444#true} is VALID [2022-04-14 15:02:20,030 INFO L290 TraceCheckUtils]: 7: Hoare triple {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {2644#(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-14 15:02:20,031 INFO L290 TraceCheckUtils]: 6: Hoare triple {2644#(or (<= (+ main_~x~0 2) main_~X~0) (<= (* main_~X~0 2) (+ main_~v~0 (* main_~Y~0 2))) (< main_~v~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2644#(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-14 15:02:20,032 INFO L290 TraceCheckUtils]: 5: Hoare triple {2444#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {2644#(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-14 15:02:20,032 INFO L272 TraceCheckUtils]: 4: Hoare triple {2444#true} call #t~ret9 := main(); {2444#true} is VALID [2022-04-14 15:02:20,032 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2444#true} {2444#true} #62#return; {2444#true} is VALID [2022-04-14 15:02:20,032 INFO L290 TraceCheckUtils]: 2: Hoare triple {2444#true} assume true; {2444#true} is VALID [2022-04-14 15:02:20,032 INFO L290 TraceCheckUtils]: 1: Hoare triple {2444#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);~counter~0 := 0; {2444#true} is VALID [2022-04-14 15:02:20,032 INFO L272 TraceCheckUtils]: 0: Hoare triple {2444#true} call ULTIMATE.init(); {2444#true} is VALID [2022-04-14 15:02:20,032 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 6 proven. 14 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-14 15:02:20,033 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:02:20,033 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1010484584] [2022-04-14 15:02:20,033 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:02:20,033 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1699502493] [2022-04-14 15:02:20,033 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1699502493] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 15:02:20,033 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 15:02:20,033 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-14 15:02:20,033 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [604143615] [2022-04-14 15:02:20,033 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 15:02:20,034 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 12 states have internal predecessors, (37), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Word has length 39 [2022-04-14 15:02:20,034 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:02:20,034 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 12 states have internal predecessors, (37), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 15:02:20,075 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:02:20,075 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-14 15:02:20,075 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:02:20,075 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-14 15:02:20,076 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-14 15:02:20,076 INFO L87 Difference]: Start difference. First operand 88 states and 104 transitions. Second operand has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 12 states have internal predecessors, (37), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 15:02:20,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:02:20,429 INFO L93 Difference]: Finished difference Result 97 states and 113 transitions. [2022-04-14 15:02:20,429 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-14 15:02:20,429 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 12 states have internal predecessors, (37), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Word has length 39 [2022-04-14 15:02:20,429 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:02:20,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 12 states have internal predecessors, (37), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 15:02:20,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2022-04-14 15:02:20,431 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 12 states have internal predecessors, (37), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 15:02:20,432 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 54 transitions. [2022-04-14 15:02:20,432 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 54 transitions. [2022-04-14 15:02:20,484 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:02:20,486 INFO L225 Difference]: With dead ends: 97 [2022-04-14 15:02:20,486 INFO L226 Difference]: Without dead ends: 91 [2022-04-14 15:02:20,486 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 67 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=59, Invalid=181, Unknown=0, NotChecked=0, Total=240 [2022-04-14 15:02:20,487 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 5 mSDsluCounter, 45 mSDsCounter, 0 mSdLazyCounter, 89 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 71 SdHoareTripleChecker+Invalid, 102 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 89 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-14 15:02:20,487 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 71 Invalid, 102 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 89 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-14 15:02:20,488 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-04-14 15:02:20,522 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 83. [2022-04-14 15:02:20,523 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:02:20,524 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand has 83 states, 66 states have (on average 1.1666666666666667) internal successors, (77), 66 states have internal predecessors, (77), 11 states have call successors, (11), 7 states have call predecessors, (11), 5 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 15:02:20,524 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand has 83 states, 66 states have (on average 1.1666666666666667) internal successors, (77), 66 states have internal predecessors, (77), 11 states have call successors, (11), 7 states have call predecessors, (11), 5 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 15:02:20,526 INFO L87 Difference]: Start difference. First operand 91 states. Second operand has 83 states, 66 states have (on average 1.1666666666666667) internal successors, (77), 66 states have internal predecessors, (77), 11 states have call successors, (11), 7 states have call predecessors, (11), 5 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 15:02:20,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:02:20,530 INFO L93 Difference]: Finished difference Result 91 states and 107 transitions. [2022-04-14 15:02:20,530 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 107 transitions. [2022-04-14 15:02:20,530 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:02:20,530 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:02:20,532 INFO L74 IsIncluded]: Start isIncluded. First operand has 83 states, 66 states have (on average 1.1666666666666667) internal successors, (77), 66 states have internal predecessors, (77), 11 states have call successors, (11), 7 states have call predecessors, (11), 5 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 91 states. [2022-04-14 15:02:20,532 INFO L87 Difference]: Start difference. First operand has 83 states, 66 states have (on average 1.1666666666666667) internal successors, (77), 66 states have internal predecessors, (77), 11 states have call successors, (11), 7 states have call predecessors, (11), 5 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 91 states. [2022-04-14 15:02:20,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:02:20,535 INFO L93 Difference]: Finished difference Result 91 states and 107 transitions. [2022-04-14 15:02:20,535 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 107 transitions. [2022-04-14 15:02:20,536 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:02:20,536 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:02:20,536 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:02:20,536 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:02:20,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 83 states, 66 states have (on average 1.1666666666666667) internal successors, (77), 66 states have internal predecessors, (77), 11 states have call successors, (11), 7 states have call predecessors, (11), 5 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 15:02:20,539 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 97 transitions. [2022-04-14 15:02:20,539 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 97 transitions. Word has length 39 [2022-04-14 15:02:20,539 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:02:20,539 INFO L478 AbstractCegarLoop]: Abstraction has 83 states and 97 transitions. [2022-04-14 15:02:20,540 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 3.0833333333333335) internal successors, (37), 12 states have internal predecessors, (37), 8 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 15:02:20,540 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 97 transitions. [2022-04-14 15:02:20,542 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-14 15:02:20,542 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:02:20,542 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 15:02:20,570 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-14 15:02:20,765 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-14 15:02:20,766 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:02:20,766 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:02:20,766 INFO L85 PathProgramCache]: Analyzing trace with hash 736401910, now seen corresponding path program 2 times [2022-04-14 15:02:20,766 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:02:20,766 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1394744622] [2022-04-14 15:02:20,766 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:02:20,767 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:02:20,783 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:02:20,783 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [797301456] [2022-04-14 15:02:20,783 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-14 15:02:20,784 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:02:20,784 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:02:20,786 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-14 15:02:20,787 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-14 15:02:20,837 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-14 15:02:20,837 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 15:02:20,838 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-14 15:02:20,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:02:20,858 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:02:21,764 INFO L272 TraceCheckUtils]: 0: Hoare triple {3121#true} call ULTIMATE.init(); {3121#true} is VALID [2022-04-14 15:02:21,764 INFO L290 TraceCheckUtils]: 1: Hoare triple {3121#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);~counter~0 := 0; {3121#true} is VALID [2022-04-14 15:02:21,764 INFO L290 TraceCheckUtils]: 2: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-14 15:02:21,765 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3121#true} {3121#true} #62#return; {3121#true} is VALID [2022-04-14 15:02:21,765 INFO L272 TraceCheckUtils]: 4: Hoare triple {3121#true} call #t~ret9 := main(); {3121#true} is VALID [2022-04-14 15:02:21,765 INFO L290 TraceCheckUtils]: 5: Hoare triple {3121#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-14 15:02:21,766 INFO L290 TraceCheckUtils]: 6: Hoare triple {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-14 15:02:21,767 INFO L290 TraceCheckUtils]: 7: Hoare triple {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-14 15:02:21,767 INFO L272 TraceCheckUtils]: 8: Hoare triple {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3121#true} is VALID [2022-04-14 15:02:21,767 INFO L290 TraceCheckUtils]: 9: Hoare triple {3121#true} ~cond := #in~cond; {3121#true} is VALID [2022-04-14 15:02:21,767 INFO L290 TraceCheckUtils]: 10: Hoare triple {3121#true} assume !(0 == ~cond); {3121#true} is VALID [2022-04-14 15:02:21,767 INFO L290 TraceCheckUtils]: 11: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-14 15:02:21,768 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3121#true} {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} #58#return; {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-14 15:02:21,769 INFO L290 TraceCheckUtils]: 13: Hoare triple {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume !!(~x~0 <= ~X~0); {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} is VALID [2022-04-14 15:02:21,770 INFO L290 TraceCheckUtils]: 14: Hoare triple {3141#(and (<= main_~x~0 0) (<= (* main_~Y~0 2) (+ main_~X~0 main_~v~0)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3169#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-14 15:02:21,771 INFO L290 TraceCheckUtils]: 15: Hoare triple {3169#(and (<= main_~x~0 0) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-14 15:02:21,784 INFO L290 TraceCheckUtils]: 16: Hoare triple {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-14 15:02:21,785 INFO L290 TraceCheckUtils]: 17: Hoare triple {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-14 15:02:21,785 INFO L272 TraceCheckUtils]: 18: Hoare triple {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3121#true} is VALID [2022-04-14 15:02:21,785 INFO L290 TraceCheckUtils]: 19: Hoare triple {3121#true} ~cond := #in~cond; {3121#true} is VALID [2022-04-14 15:02:21,785 INFO L290 TraceCheckUtils]: 20: Hoare triple {3121#true} assume !(0 == ~cond); {3121#true} is VALID [2022-04-14 15:02:21,785 INFO L290 TraceCheckUtils]: 21: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-14 15:02:21,786 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3121#true} {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} #58#return; {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-14 15:02:21,787 INFO L290 TraceCheckUtils]: 23: Hoare triple {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !!(~x~0 <= ~X~0); {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} is VALID [2022-04-14 15:02:21,792 INFO L290 TraceCheckUtils]: 24: Hoare triple {3173#(and (<= main_~x~0 1) (< (div (+ (- 1) (* (- 1) main_~v~0)) (- 2)) (+ (div (+ (- 1) main_~X~0) 2) 1)))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {3201#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-14 15:02:21,793 INFO L290 TraceCheckUtils]: 25: Hoare triple {3201#(and (<= main_~x~0 1) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-14 15:02:21,793 INFO L290 TraceCheckUtils]: 26: Hoare triple {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-14 15:02:21,794 INFO L290 TraceCheckUtils]: 27: Hoare triple {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-14 15:02:21,794 INFO L272 TraceCheckUtils]: 28: Hoare triple {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3121#true} is VALID [2022-04-14 15:02:21,794 INFO L290 TraceCheckUtils]: 29: Hoare triple {3121#true} ~cond := #in~cond; {3121#true} is VALID [2022-04-14 15:02:21,794 INFO L290 TraceCheckUtils]: 30: Hoare triple {3121#true} assume !(0 == ~cond); {3121#true} is VALID [2022-04-14 15:02:21,794 INFO L290 TraceCheckUtils]: 31: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-14 15:02:21,795 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3121#true} {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #58#return; {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-14 15:02:21,795 INFO L290 TraceCheckUtils]: 33: Hoare triple {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !!(~x~0 <= ~X~0); {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-14 15:02:21,796 INFO L290 TraceCheckUtils]: 34: Hoare triple {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-14 15:02:21,796 INFO L290 TraceCheckUtils]: 35: Hoare triple {3205#(and (<= main_~x~0 2) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-14 15:02:21,797 INFO L290 TraceCheckUtils]: 36: Hoare triple {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-14 15:02:21,797 INFO L290 TraceCheckUtils]: 37: Hoare triple {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-14 15:02:21,797 INFO L272 TraceCheckUtils]: 38: Hoare triple {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} call __VERIFIER_assert((if 0 == 2 * ~yx~0 - 2 * ~xy~0 - ~X~0 + 2 * ~Y~0 - ~v~0 then 1 else 0)); {3121#true} is VALID [2022-04-14 15:02:21,799 INFO L290 TraceCheckUtils]: 39: Hoare triple {3121#true} ~cond := #in~cond; {3121#true} is VALID [2022-04-14 15:02:21,799 INFO L290 TraceCheckUtils]: 40: Hoare triple {3121#true} assume !(0 == ~cond); {3121#true} is VALID [2022-04-14 15:02:21,799 INFO L290 TraceCheckUtils]: 41: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-14 15:02:21,799 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3121#true} {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} #58#return; {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} is VALID [2022-04-14 15:02:21,803 INFO L290 TraceCheckUtils]: 43: Hoare triple {3236#(and (<= main_~x~0 3) (< 0 (div (+ (- 1) main_~X~0) 2)))} assume !(~x~0 <= ~X~0); {3122#false} is VALID [2022-04-14 15:02:21,803 INFO L290 TraceCheckUtils]: 44: Hoare triple {3122#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {3122#false} is VALID [2022-04-14 15:02:21,803 INFO L272 TraceCheckUtils]: 45: Hoare triple {3122#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)); {3122#false} is VALID [2022-04-14 15:02:21,803 INFO L290 TraceCheckUtils]: 46: Hoare triple {3122#false} ~cond := #in~cond; {3122#false} is VALID [2022-04-14 15:02:21,804 INFO L290 TraceCheckUtils]: 47: Hoare triple {3122#false} assume 0 == ~cond; {3122#false} is VALID [2022-04-14 15:02:21,804 INFO L290 TraceCheckUtils]: 48: Hoare triple {3122#false} assume !false; {3122#false} is VALID [2022-04-14 15:02:21,804 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 8 proven. 30 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-14 15:02:21,804 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 15:02:22,158 INFO L290 TraceCheckUtils]: 48: Hoare triple {3122#false} assume !false; {3122#false} is VALID [2022-04-14 15:02:22,158 INFO L290 TraceCheckUtils]: 47: Hoare triple {3122#false} assume 0 == ~cond; {3122#false} is VALID [2022-04-14 15:02:22,158 INFO L290 TraceCheckUtils]: 46: Hoare triple {3122#false} ~cond := #in~cond; {3122#false} is VALID [2022-04-14 15:02:22,158 INFO L272 TraceCheckUtils]: 45: Hoare triple {3122#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)); {3122#false} is VALID [2022-04-14 15:02:22,158 INFO L290 TraceCheckUtils]: 44: Hoare triple {3122#false} ~xy~0 := ~x~0 * ~y~0;~yx~0 := ~Y~0 * ~x~0; {3122#false} is VALID [2022-04-14 15:02:22,160 INFO L290 TraceCheckUtils]: 43: Hoare triple {3291#(<= main_~x~0 main_~X~0)} assume !(~x~0 <= ~X~0); {3122#false} is VALID [2022-04-14 15:02:22,161 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3121#true} {3291#(<= main_~x~0 main_~X~0)} #58#return; {3291#(<= main_~x~0 main_~X~0)} is VALID [2022-04-14 15:02:22,161 INFO L290 TraceCheckUtils]: 41: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-14 15:02:22,161 INFO L290 TraceCheckUtils]: 40: Hoare triple {3121#true} assume !(0 == ~cond); {3121#true} is VALID [2022-04-14 15:02:22,161 INFO L290 TraceCheckUtils]: 39: Hoare triple {3121#true} ~cond := #in~cond; {3121#true} is VALID [2022-04-14 15:02:22,161 INFO L272 TraceCheckUtils]: 38: Hoare triple {3291#(<= 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)); {3121#true} is VALID [2022-04-14 15:02:22,161 INFO L290 TraceCheckUtils]: 37: Hoare triple {3291#(<= main_~x~0 main_~X~0)} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3291#(<= main_~x~0 main_~X~0)} is VALID [2022-04-14 15:02:22,162 INFO L290 TraceCheckUtils]: 36: Hoare triple {3291#(<= main_~x~0 main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3291#(<= main_~x~0 main_~X~0)} is VALID [2022-04-14 15:02:22,162 INFO L290 TraceCheckUtils]: 35: Hoare triple {3316#(<= (+ main_~x~0 1) main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3291#(<= main_~x~0 main_~X~0)} is VALID [2022-04-14 15:02:22,163 INFO L290 TraceCheckUtils]: 34: Hoare triple {3316#(<= (+ main_~x~0 1) main_~X~0)} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3316#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-14 15:02:22,163 INFO L290 TraceCheckUtils]: 33: Hoare triple {3316#(<= (+ main_~x~0 1) main_~X~0)} assume !!(~x~0 <= ~X~0); {3316#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-14 15:02:22,164 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3121#true} {3316#(<= (+ main_~x~0 1) main_~X~0)} #58#return; {3316#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-14 15:02:22,164 INFO L290 TraceCheckUtils]: 31: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-14 15:02:22,164 INFO L290 TraceCheckUtils]: 30: Hoare triple {3121#true} assume !(0 == ~cond); {3121#true} is VALID [2022-04-14 15:02:22,164 INFO L290 TraceCheckUtils]: 29: Hoare triple {3121#true} ~cond := #in~cond; {3121#true} is VALID [2022-04-14 15:02:22,164 INFO L272 TraceCheckUtils]: 28: Hoare triple {3316#(<= (+ 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)); {3121#true} is VALID [2022-04-14 15:02:22,164 INFO L290 TraceCheckUtils]: 27: Hoare triple {3316#(<= (+ main_~x~0 1) main_~X~0)} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3316#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-14 15:02:22,164 INFO L290 TraceCheckUtils]: 26: Hoare triple {3316#(<= (+ main_~x~0 1) main_~X~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3316#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-14 15:02:22,165 INFO L290 TraceCheckUtils]: 25: Hoare triple {3347#(<= (+ main_~x~0 2) main_~X~0)} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3316#(<= (+ main_~x~0 1) main_~X~0)} is VALID [2022-04-14 15:02:22,165 INFO L290 TraceCheckUtils]: 24: Hoare triple {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !(~v~0 < 0);~v~0 := ~v~0 + 2 * (~Y~0 - ~X~0);#t~post7 := ~y~0;~y~0 := 1 + #t~post7;havoc #t~post7; {3347#(<= (+ main_~x~0 2) main_~X~0)} is VALID [2022-04-14 15:02:22,166 INFO L290 TraceCheckUtils]: 23: Hoare triple {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(~x~0 <= ~X~0); {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-14 15:02:22,166 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3121#true} {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #58#return; {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-14 15:02:22,166 INFO L290 TraceCheckUtils]: 21: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-14 15:02:22,166 INFO L290 TraceCheckUtils]: 20: Hoare triple {3121#true} assume !(0 == ~cond); {3121#true} is VALID [2022-04-14 15:02:22,166 INFO L290 TraceCheckUtils]: 19: Hoare triple {3121#true} ~cond := #in~cond; {3121#true} is VALID [2022-04-14 15:02:22,166 INFO L272 TraceCheckUtils]: 18: Hoare triple {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< 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)); {3121#true} is VALID [2022-04-14 15:02:22,167 INFO L290 TraceCheckUtils]: 17: Hoare triple {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-14 15:02:22,167 INFO L290 TraceCheckUtils]: 16: Hoare triple {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-14 15:02:22,168 INFO L290 TraceCheckUtils]: 15: Hoare triple {3379#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} #t~post8 := ~x~0;~x~0 := 1 + #t~post8;havoc #t~post8; {3351#(or (<= (+ main_~x~0 2) main_~X~0) (< main_~v~0 0))} is VALID [2022-04-14 15:02:22,168 INFO L290 TraceCheckUtils]: 14: Hoare triple {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume ~v~0 < 0;~v~0 := ~v~0 + 2 * ~Y~0; {3379#(or (< main_~v~0 0) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-14 15:02:22,169 INFO L290 TraceCheckUtils]: 13: Hoare triple {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !!(~x~0 <= ~X~0); {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-14 15:02:22,169 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3121#true} {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #58#return; {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-14 15:02:22,169 INFO L290 TraceCheckUtils]: 11: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-14 15:02:22,169 INFO L290 TraceCheckUtils]: 10: Hoare triple {3121#true} assume !(0 == ~cond); {3121#true} is VALID [2022-04-14 15:02:22,169 INFO L290 TraceCheckUtils]: 9: Hoare triple {3121#true} ~cond := #in~cond; {3121#true} is VALID [2022-04-14 15:02:22,169 INFO L272 TraceCheckUtils]: 8: Hoare triple {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) 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)); {3121#true} is VALID [2022-04-14 15:02:22,170 INFO L290 TraceCheckUtils]: 7: Hoare triple {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} assume !!(#t~post6 < 5);havoc #t~post6;~yx~0 := ~Y~0 * ~x~0;~xy~0 := ~X~0 * ~y~0; {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-14 15:02:22,171 INFO L290 TraceCheckUtils]: 6: Hoare triple {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-14 15:02:22,172 INFO L290 TraceCheckUtils]: 5: Hoare triple {3121#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~Y~0 := #t~nondet5;havoc #t~nondet5;~v~0 := 2 * ~Y~0 - ~X~0;~y~0 := 0;~x~0 := 0; {3383#(or (< (+ main_~v~0 (* main_~Y~0 2)) 0) (not (< main_~v~0 0)) (<= (+ main_~x~0 3) main_~X~0))} is VALID [2022-04-14 15:02:22,172 INFO L272 TraceCheckUtils]: 4: Hoare triple {3121#true} call #t~ret9 := main(); {3121#true} is VALID [2022-04-14 15:02:22,172 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3121#true} {3121#true} #62#return; {3121#true} is VALID [2022-04-14 15:02:22,172 INFO L290 TraceCheckUtils]: 2: Hoare triple {3121#true} assume true; {3121#true} is VALID [2022-04-14 15:02:22,172 INFO L290 TraceCheckUtils]: 1: Hoare triple {3121#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);~counter~0 := 0; {3121#true} is VALID [2022-04-14 15:02:22,172 INFO L272 TraceCheckUtils]: 0: Hoare triple {3121#true} call ULTIMATE.init(); {3121#true} is VALID [2022-04-14 15:02:22,172 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 8 proven. 30 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-14 15:02:22,172 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 15:02:22,173 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1394744622] [2022-04-14 15:02:22,173 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 15:02:22,173 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [797301456] [2022-04-14 15:02:22,173 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [797301456] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 15:02:22,173 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 15:02:22,173 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-14 15:02:22,173 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [685382300] [2022-04-14 15:02:22,173 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 15:02:22,174 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 14 states have internal predecessors, (47), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Word has length 49 [2022-04-14 15:02:22,174 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 15:02:22,174 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 14 states have internal predecessors, (47), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 15:02:22,227 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-14 15:02:22,228 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-14 15:02:22,228 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 15:02:22,228 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-14 15:02:22,228 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-14 15:02:22,229 INFO L87 Difference]: Start difference. First operand 83 states and 97 transitions. Second operand has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 14 states have internal predecessors, (47), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 15:02:22,765 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:02:22,765 INFO L93 Difference]: Finished difference Result 108 states and 127 transitions. [2022-04-14 15:02:22,765 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-14 15:02:22,765 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 14 states have internal predecessors, (47), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Word has length 49 [2022-04-14 15:02:22,766 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 15:02:22,766 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 14 states have internal predecessors, (47), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 15:02:22,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 61 transitions. [2022-04-14 15:02:22,768 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 14 states have internal predecessors, (47), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 15:02:22,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 61 transitions. [2022-04-14 15:02:22,770 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 61 transitions. [2022-04-14 15:02:22,821 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 15:02:22,823 INFO L225 Difference]: With dead ends: 108 [2022-04-14 15:02:22,823 INFO L226 Difference]: Without dead ends: 102 [2022-04-14 15:02:22,824 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 41 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=64, Invalid=208, Unknown=0, NotChecked=0, Total=272 [2022-04-14 15:02:22,824 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 10 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 180 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 191 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 180 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-14 15:02:22,824 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 144 Invalid, 191 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 180 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-14 15:02:22,825 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2022-04-14 15:02:22,870 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 89. [2022-04-14 15:02:22,870 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 15:02:22,871 INFO L82 GeneralOperation]: Start isEquivalent. First operand 102 states. Second operand has 89 states, 71 states have (on average 1.1690140845070423) internal successors, (83), 71 states have internal predecessors, (83), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 15:02:22,871 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand has 89 states, 71 states have (on average 1.1690140845070423) internal successors, (83), 71 states have internal predecessors, (83), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 15:02:22,871 INFO L87 Difference]: Start difference. First operand 102 states. Second operand has 89 states, 71 states have (on average 1.1690140845070423) internal successors, (83), 71 states have internal predecessors, (83), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 15:02:22,874 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:02:22,874 INFO L93 Difference]: Finished difference Result 102 states and 121 transitions. [2022-04-14 15:02:22,875 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 121 transitions. [2022-04-14 15:02:22,875 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:02:22,875 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:02:22,875 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 71 states have (on average 1.1690140845070423) internal successors, (83), 71 states have internal predecessors, (83), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 102 states. [2022-04-14 15:02:22,876 INFO L87 Difference]: Start difference. First operand has 89 states, 71 states have (on average 1.1690140845070423) internal successors, (83), 71 states have internal predecessors, (83), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 102 states. [2022-04-14 15:02:22,879 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 15:02:22,879 INFO L93 Difference]: Finished difference Result 102 states and 121 transitions. [2022-04-14 15:02:22,879 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 121 transitions. [2022-04-14 15:02:22,879 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 15:02:22,879 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 15:02:22,879 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 15:02:22,879 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 15:02:22,880 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 71 states have (on average 1.1690140845070423) internal successors, (83), 71 states have internal predecessors, (83), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 15:02:22,882 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 105 transitions. [2022-04-14 15:02:22,882 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 105 transitions. Word has length 49 [2022-04-14 15:02:22,882 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 15:02:22,882 INFO L478 AbstractCegarLoop]: Abstraction has 89 states and 105 transitions. [2022-04-14 15:02:22,883 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 3.357142857142857) internal successors, (47), 14 states have internal predecessors, (47), 10 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 15:02:22,883 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 105 transitions. [2022-04-14 15:02:22,884 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-14 15:02:22,884 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 15:02:22,884 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 15:02:22,908 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-14 15:02:23,107 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-14 15:02:23,108 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 15:02:23,108 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 15:02:23,108 INFO L85 PathProgramCache]: Analyzing trace with hash -248152202, now seen corresponding path program 3 times [2022-04-14 15:02:23,108 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 15:02:23,108 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1054116671] [2022-04-14 15:02:23,108 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 15:02:23,108 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 15:02:23,119 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 15:02:23,119 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1596917976] [2022-04-14 15:02:23,120 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-14 15:02:23,120 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 15:02:23,120 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 15:02:23,121 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 15:02:23,128 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-14 15:02:23,756 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2022-04-14 15:02:23,756 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 15:02:23,758 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-14 15:02:23,773 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 15:02:23,774 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 15:02:38,081 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 15:02:45,070 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 15:02:51,089 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 15:02:56,185 WARN L833 $PredicateComparison]: unable to prove that (let ((.cse3 (+ c_main_~X~0 1)) (.cse2 (+ (* (- 1) c_main_~Y~0) (div (+ c_main_~v~0 c_main_~X~0) 2) (* c_main_~X~0 c_main_~y~0))) (.cse0 (= c_main_~Y~0 0)) (.cse4 (= (mod (+ (* 2 c_main_~X~0 c_main_~y~0) c_main_~v~0 c_main_~X~0) 2) 0))) (or (let ((.cse1 (div .cse2 c_main_~Y~0))) (and (not .cse0) (not (<= .cse1 c_main_~X~0)) (= (mod .cse2 c_main_~Y~0) 0) (= c_main_~xy~0 (* c_main_~y~0 .cse1)) (<= .cse1 .cse3) (= c_main_~yx~0 (* c_main_~Y~0 .cse1)) .cse4)) (and (let ((.cse6 (= c_main_~y~0 0))) (or (let ((.cse5 (div c_main_~xy~0 c_main_~y~0))) (and (<= .cse5 .cse3) (= (mod c_main_~xy~0 c_main_~y~0) 0) (not .cse6) (< c_main_~X~0 .cse5))) (and .cse6 (= c_main_~xy~0 0)))) (= 0 .cse2) .cse0 (= c_main_~yx~0 0) .cse4))) is different from false