/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/AutomizerCTransformed.xml -s ../../../trunk/examples/settings/automizer/LoopAccelerationJordanC.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-14 21:37:01,719 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-14 21:37:01,721 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-14 21:37:01,740 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-14 21:37:01,741 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-14 21:37:01,741 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-14 21:37:01,742 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-14 21:37:01,743 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-14 21:37:01,745 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-14 21:37:01,745 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-14 21:37:01,746 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-14 21:37:01,747 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-14 21:37:01,747 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-14 21:37:01,753 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-14 21:37:01,754 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-14 21:37:01,757 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-14 21:37:01,758 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-14 21:37:01,759 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-14 21:37:01,764 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-14 21:37:01,767 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-14 21:37:01,768 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-14 21:37:01,769 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-14 21:37:01,769 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-14 21:37:01,770 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-14 21:37:01,770 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-14 21:37:01,772 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-14 21:37:01,772 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-14 21:37:01,772 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-14 21:37:01,772 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-14 21:37:01,773 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-14 21:37:01,773 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-14 21:37:01,773 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-14 21:37:01,774 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-14 21:37:01,774 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-14 21:37:01,774 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-14 21:37:01,775 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-14 21:37:01,775 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-14 21:37:01,776 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-14 21:37:01,776 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-14 21:37:01,776 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-14 21:37:01,776 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-14 21:37:01,781 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-14 21:37:01,782 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/LoopAccelerationJordanC.epf [2022-04-14 21:37:01,791 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-14 21:37:01,791 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-14 21:37:01,792 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-14 21:37:01,792 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-14 21:37:01,792 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-14 21:37:01,792 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-14 21:37:01,792 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-14 21:37:01,792 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-14 21:37:01,792 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-14 21:37:01,793 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-14 21:37:01,793 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-14 21:37:01,793 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-14 21:37:01,793 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-14 21:37:01,793 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-14 21:37:01,793 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-14 21:37:01,793 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-14 21:37:01,794 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-14 21:37:01,794 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-14 21:37:01,794 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 21:37:01,794 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-14 21:37:01,794 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-14 21:37:01,795 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2022-04-14 21:37:01,795 INFO L138 SettingsManager]: * TransformationType=LOOP_ACCELERATION_JORDAN 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 21:37:01,951 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-14 21:37:01,976 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-14 21:37:01,977 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-14 21:37:01,978 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-14 21:37:01,979 INFO L275 PluginConnector]: CDTParser initialized [2022-04-14 21:37:01,979 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound1.c [2022-04-14 21:37:02,016 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0ca0cef1d/7196d6af4d96438b9a7d2adcf2473f8e/FLAG48d85bc05 [2022-04-14 21:37:02,334 INFO L306 CDTParser]: Found 1 translation units. [2022-04-14 21:37:02,335 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound1.c [2022-04-14 21:37:02,340 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0ca0cef1d/7196d6af4d96438b9a7d2adcf2473f8e/FLAG48d85bc05 [2022-04-14 21:37:02,746 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0ca0cef1d/7196d6af4d96438b9a7d2adcf2473f8e [2022-04-14 21:37:02,747 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-14 21:37:02,748 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2022-04-14 21:37:02,750 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-14 21:37:02,750 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-14 21:37:02,757 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-14 21:37:02,757 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 09:37:02" (1/1) ... [2022-04-14 21:37:02,758 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@16fb61e4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:37:02, skipping insertion in model container [2022-04-14 21:37:02,758 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 09:37:02" (1/1) ... [2022-04-14 21:37:02,762 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-14 21:37:02,788 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-14 21:37:02,869 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/fermat1-ll_unwindbound1.c[535,548] [2022-04-14 21:37:02,901 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 21:37:02,906 INFO L203 MainTranslator]: Completed pre-run [2022-04-14 21:37:02,922 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/fermat1-ll_unwindbound1.c[535,548] [2022-04-14 21:37:02,929 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 21:37:02,940 INFO L208 MainTranslator]: Completed translation [2022-04-14 21:37:02,940 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:37:02 WrapperNode [2022-04-14 21:37:02,940 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-14 21:37:02,941 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-14 21:37:02,941 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-14 21:37:02,942 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-14 21:37:02,948 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:37:02" (1/1) ... [2022-04-14 21:37:02,948 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:37:02" (1/1) ... [2022-04-14 21:37:02,957 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:37:02" (1/1) ... [2022-04-14 21:37:02,957 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:37:02" (1/1) ... [2022-04-14 21:37:02,970 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:37:02" (1/1) ... [2022-04-14 21:37:02,973 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:37:02" (1/1) ... [2022-04-14 21:37:02,973 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:37:02" (1/1) ... [2022-04-14 21:37:02,974 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-14 21:37:02,975 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-14 21:37:02,975 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-14 21:37:02,975 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-14 21:37:02,977 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:37:02" (1/1) ... [2022-04-14 21:37:02,981 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 21:37:02,987 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:37:02,995 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 21:37:03,025 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 21:37:03,041 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-14 21:37:03,041 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-14 21:37:03,042 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-14 21:37:03,042 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-14 21:37:03,042 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-14 21:37:03,042 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-14 21:37:03,042 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-14 21:37:03,042 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-14 21:37:03,042 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-14 21:37:03,043 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-14 21:37:03,043 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-14 21:37:03,043 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-14 21:37:03,043 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-14 21:37:03,043 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-14 21:37:03,044 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-14 21:37:03,045 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-14 21:37:03,045 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-14 21:37:03,045 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-14 21:37:03,045 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-14 21:37:03,045 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-14 21:37:03,091 INFO L234 CfgBuilder]: Building ICFG [2022-04-14 21:37:03,092 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-14 21:37:03,218 INFO L275 CfgBuilder]: Performing block encoding [2022-04-14 21:37:03,223 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-14 21:37:03,223 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-14 21:37:03,224 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 09:37:03 BoogieIcfgContainer [2022-04-14 21:37:03,224 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-14 21:37:03,247 INFO L113 PluginConnector]: ------------------------IcfgTransformer---------------------------- [2022-04-14 21:37:03,248 INFO L271 PluginConnector]: Initializing IcfgTransformer... [2022-04-14 21:37:03,250 INFO L275 PluginConnector]: IcfgTransformer initialized [2022-04-14 21:37:03,253 INFO L185 PluginConnector]: Executing the observer IcfgTransformationObserver from plugin IcfgTransformer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 09:37:03" (1/1) ... [2022-04-14 21:37:03,254 INFO L168 ansformationObserver]: Applying ICFG transformation LOOP_ACCELERATION_JORDAN [2022-04-14 21:37:03,279 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 14.04 09:37:03 BasicIcfg [2022-04-14 21:37:03,279 INFO L132 PluginConnector]: ------------------------ END IcfgTransformer---------------------------- [2022-04-14 21:37:03,281 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-14 21:37:03,281 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-14 21:37:03,283 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-14 21:37:03,283 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.04 09:37:02" (1/4) ... [2022-04-14 21:37:03,283 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@261989db and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 09:37:03, skipping insertion in model container [2022-04-14 21:37:03,283 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:37:02" (2/4) ... [2022-04-14 21:37:03,283 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@261989db and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 09:37:03, skipping insertion in model container [2022-04-14 21:37:03,284 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 09:37:03" (3/4) ... [2022-04-14 21:37:03,284 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@261989db and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 14.04 09:37:03, skipping insertion in model container [2022-04-14 21:37:03,284 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 14.04 09:37:03" (4/4) ... [2022-04-14 21:37:03,284 INFO L111 eAbstractionObserver]: Analyzing ICFG fermat1-ll_unwindbound1.cJordan [2022-04-14 21:37:03,287 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:ForwardPredicates Determinization: PREDICATE_ABSTRACTION [2022-04-14 21:37:03,287 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-14 21:37:03,324 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-14 21:37:03,330 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=ForwardPredicates, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=false, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-14 21:37:03,330 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-14 21:37:03,346 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 8 states have call successors, (8), 4 states have call predecessors, (8), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-14 21:37:03,351 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-14 21:37:03,351 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 21:37:03,351 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 21:37:03,352 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 21:37:03,355 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 21:37:03,355 INFO L85 PathProgramCache]: Analyzing trace with hash -758992103, now seen corresponding path program 1 times [2022-04-14 21:37:03,362 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 21:37:03,362 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [484690062] [2022-04-14 21:37:03,362 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:37:03,363 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 21:37:03,453 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 21:37:03,454 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [514294451] [2022-04-14 21:37:03,454 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:37:03,454 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:37:03,454 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:37:03,455 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 21:37:03,502 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 21:37:03,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:37:03,533 INFO L263 TraceCheckSpWp]: Trace formula consists of 89 conjuncts, 1 conjunts are in the unsatisfiable core [2022-04-14 21:37:03,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:37:03,559 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 21:37:03,624 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {40#true} is VALID [2022-04-14 21:37:03,624 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {40#true} is VALID [2022-04-14 21:37:03,624 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {40#true} is VALID [2022-04-14 21:37:03,625 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {40#true} is VALID [2022-04-14 21:37:03,625 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {40#true} is VALID [2022-04-14 21:37:03,625 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#true} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {40#true} is VALID [2022-04-14 21:37:03,625 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {40#true} is VALID [2022-04-14 21:37:03,625 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {40#true} is VALID [2022-04-14 21:37:03,626 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} [115] L9-->L9-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-14 21:37:03,626 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-14 21:37:03,626 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {41#false} is VALID [2022-04-14 21:37:03,627 INFO L272 TraceCheckUtils]: 11: Hoare triple {41#false} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {41#false} is VALID [2022-04-14 21:37:03,627 INFO L290 TraceCheckUtils]: 12: Hoare triple {41#false} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {41#false} is VALID [2022-04-14 21:37:03,627 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#false} [115] L9-->L9-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-14 21:37:03,627 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#false} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-14 21:37:03,627 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {41#false} {41#false} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {41#false} is VALID [2022-04-14 21:37:03,628 INFO L290 TraceCheckUtils]: 16: Hoare triple {41#false} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {41#false} is VALID [2022-04-14 21:37:03,628 INFO L290 TraceCheckUtils]: 17: Hoare triple {41#false} [117] L47-3-->L34-3: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-14 21:37:03,628 INFO L272 TraceCheckUtils]: 18: Hoare triple {41#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {41#false} is VALID [2022-04-14 21:37:03,628 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {41#false} is VALID [2022-04-14 21:37:03,629 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-14 21:37:03,629 INFO L290 TraceCheckUtils]: 21: Hoare triple {41#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-14 21:37:03,629 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-14 21:37:03,629 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 21:37:03,630 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 21:37:03,630 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [484690062] [2022-04-14 21:37:03,630 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 21:37:03,630 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [514294451] [2022-04-14 21:37:03,630 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [514294451] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 21:37:03,631 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 21:37:03,631 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-04-14 21:37:03,632 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1632894649] [2022-04-14 21:37:03,632 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 21:37:03,636 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-14 21:37:03,637 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 21:37:03,638 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 21:37:03,667 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 21:37:03,667 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-04-14 21:37:03,667 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 21:37:03,683 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-04-14 21:37:03,683 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-04-14 21:37:03,685 INFO L87 Difference]: Start difference. First operand has 37 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 8 states have call successors, (8), 4 states have call predecessors, (8), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 21:37:03,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:37:03,731 INFO L93 Difference]: Finished difference Result 37 states and 46 transitions. [2022-04-14 21:37:03,731 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-04-14 21:37:03,731 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-14 21:37:03,731 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 21:37:03,732 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 21:37:03,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 51 transitions. [2022-04-14 21:37:03,737 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 21:37:03,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 51 transitions. [2022-04-14 21:37:03,739 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 2 states and 51 transitions. [2022-04-14 21:37:03,781 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 21:37:03,787 INFO L225 Difference]: With dead ends: 37 [2022-04-14 21:37:03,787 INFO L226 Difference]: Without dead ends: 32 [2022-04-14 21:37:03,788 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-04-14 21:37:03,790 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 46 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 21:37:03,791 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 21:37:03,802 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-14 21:37:03,809 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-14 21:37:03,809 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 21:37:03,810 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 21:37:03,810 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 21:37:03,810 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 21:37:03,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:37:03,814 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-14 21:37:03,814 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-14 21:37:03,815 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:37:03,815 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:37:03,815 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 32 states. [2022-04-14 21:37:03,816 INFO L87 Difference]: Start difference. First operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 32 states. [2022-04-14 21:37:03,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:37:03,819 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-14 21:37:03,819 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-14 21:37:03,820 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:37:03,820 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:37:03,820 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 21:37:03,820 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 21:37:03,820 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 21:37:03,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-14 21:37:03,823 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 22 [2022-04-14 21:37:03,823 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 21:37:03,824 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-14 21:37:03,824 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 21:37:03,824 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-14 21:37:03,824 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-14 21:37:03,824 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 21:37:03,825 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 21:37:03,844 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 21:37:04,043 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable0 [2022-04-14 21:37:04,043 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 21:37:04,044 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 21:37:04,044 INFO L85 PathProgramCache]: Analyzing trace with hash -713449777, now seen corresponding path program 1 times [2022-04-14 21:37:04,044 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 21:37:04,044 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [787229052] [2022-04-14 21:37:04,044 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:37:04,044 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 21:37:04,066 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 21:37:04,066 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [175927784] [2022-04-14 21:37:04,066 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:37:04,066 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:37:04,066 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:37:04,081 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 21:37:04,098 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 21:37:04,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:37:04,136 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-14 21:37:04,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:37:04,146 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 21:37:04,365 INFO L272 TraceCheckUtils]: 0: Hoare triple {240#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {240#true} is VALID [2022-04-14 21:37:04,366 INFO L290 TraceCheckUtils]: 1: Hoare triple {240#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:37:04,367 INFO L290 TraceCheckUtils]: 2: Hoare triple {248#(<= ~counter~0 0)} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:37:04,367 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {248#(<= ~counter~0 0)} {240#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:37:04,368 INFO L272 TraceCheckUtils]: 4: Hoare triple {248#(<= ~counter~0 0)} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:37:04,368 INFO L290 TraceCheckUtils]: 5: Hoare triple {248#(<= ~counter~0 0)} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:37:04,369 INFO L272 TraceCheckUtils]: 6: Hoare triple {248#(<= ~counter~0 0)} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:37:04,369 INFO L290 TraceCheckUtils]: 7: Hoare triple {248#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:37:04,369 INFO L290 TraceCheckUtils]: 8: Hoare triple {248#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:37:04,370 INFO L290 TraceCheckUtils]: 9: Hoare triple {248#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:37:04,370 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {248#(<= ~counter~0 0)} {248#(<= ~counter~0 0)} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:37:04,371 INFO L272 TraceCheckUtils]: 11: Hoare triple {248#(<= ~counter~0 0)} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:37:04,372 INFO L290 TraceCheckUtils]: 12: Hoare triple {248#(<= ~counter~0 0)} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:37:04,372 INFO L290 TraceCheckUtils]: 13: Hoare triple {248#(<= ~counter~0 0)} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:37:04,372 INFO L290 TraceCheckUtils]: 14: Hoare triple {248#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:37:04,378 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {248#(<= ~counter~0 0)} {248#(<= ~counter~0 0)} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:37:04,379 INFO L290 TraceCheckUtils]: 16: Hoare triple {248#(<= ~counter~0 0)} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {248#(<= ~counter~0 0)} is VALID [2022-04-14 21:37:04,380 INFO L290 TraceCheckUtils]: 17: Hoare triple {248#(<= ~counter~0 0)} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {297#(<= |main_#t~post6| 0)} is VALID [2022-04-14 21:37:04,380 INFO L290 TraceCheckUtils]: 18: Hoare triple {297#(<= |main_#t~post6| 0)} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 1)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {241#false} is VALID [2022-04-14 21:37:04,380 INFO L272 TraceCheckUtils]: 19: Hoare triple {241#false} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {241#false} is VALID [2022-04-14 21:37:04,381 INFO L290 TraceCheckUtils]: 20: Hoare triple {241#false} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {241#false} is VALID [2022-04-14 21:37:04,381 INFO L290 TraceCheckUtils]: 21: Hoare triple {241#false} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {241#false} is VALID [2022-04-14 21:37:04,382 INFO L290 TraceCheckUtils]: 22: Hoare triple {241#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {241#false} is VALID [2022-04-14 21:37:04,382 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 21:37:04,382 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 21:37:04,383 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 21:37:04,383 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [787229052] [2022-04-14 21:37:04,383 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 21:37:04,383 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [175927784] [2022-04-14 21:37:04,383 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [175927784] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 21:37:04,383 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 21:37:04,383 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-14 21:37:04,383 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [685817055] [2022-04-14 21:37:04,384 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 21:37:04,385 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-14 21:37:04,386 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 21:37:04,386 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 21:37:04,403 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 21:37:04,403 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-14 21:37:04,404 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 21:37:04,405 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-14 21:37:04,405 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-14 21:37:04,406 INFO L87 Difference]: Start difference. First operand 32 states and 41 transitions. Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 21:37:04,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:37:04,487 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-14 21:37:04,487 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-14 21:37:04,487 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-14 21:37:04,487 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 21:37:04,488 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 21:37:04,489 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 44 transitions. [2022-04-14 21:37:04,489 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 21:37:04,492 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 44 transitions. [2022-04-14 21:37:04,492 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 44 transitions. [2022-04-14 21:37:04,530 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 21:37:04,531 INFO L225 Difference]: With dead ends: 34 [2022-04-14 21:37:04,531 INFO L226 Difference]: Without dead ends: 34 [2022-04-14 21:37:04,531 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-14 21:37:04,532 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 0 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 101 SdHoareTripleChecker+Invalid, 9 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 21:37:04,532 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 101 Invalid, 9 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 21:37:04,533 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2022-04-14 21:37:04,535 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 34. [2022-04-14 21:37:04,535 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 21:37:04,535 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 21:37:04,536 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 21:37:04,536 INFO L87 Difference]: Start difference. First operand 34 states. Second operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 21:37:04,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:37:04,538 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-14 21:37:04,538 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-14 21:37:04,539 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:37:04,539 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:37:04,539 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 34 states. [2022-04-14 21:37:04,539 INFO L87 Difference]: Start difference. First operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 34 states. [2022-04-14 21:37:04,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:37:04,541 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-14 21:37:04,541 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-14 21:37:04,542 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:37:04,542 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:37:04,542 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 21:37:04,542 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 21:37:04,542 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 21:37:04,544 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 43 transitions. [2022-04-14 21:37:04,544 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 43 transitions. Word has length 23 [2022-04-14 21:37:04,544 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 21:37:04,544 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 43 transitions. [2022-04-14 21:37:04,544 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 21:37:04,545 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-14 21:37:04,545 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-14 21:37:04,545 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 21:37:04,545 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 21:37:04,561 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 21:37:04,759 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,SelfDestructingSolverStorable1 [2022-04-14 21:37:04,760 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 21:37:04,760 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 21:37:04,760 INFO L85 PathProgramCache]: Analyzing trace with hash -712377301, now seen corresponding path program 1 times [2022-04-14 21:37:04,761 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 21:37:04,761 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [406521365] [2022-04-14 21:37:04,761 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:37:04,761 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 21:37:04,774 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 21:37:04,775 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1347704145] [2022-04-14 21:37:04,775 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:37:04,775 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:37:04,775 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:37:04,790 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 21:37:04,791 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 21:37:04,831 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:37:04,832 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-14 21:37:05,034 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:37:05,036 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 21:37:06,924 INFO L272 TraceCheckUtils]: 0: Hoare triple {448#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-14 21:37:06,924 INFO L290 TraceCheckUtils]: 1: Hoare triple {448#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {448#true} is VALID [2022-04-14 21:37:06,925 INFO L290 TraceCheckUtils]: 2: Hoare triple {448#true} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-14 21:37:06,925 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {448#true} {448#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-14 21:37:06,925 INFO L272 TraceCheckUtils]: 4: Hoare triple {448#true} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-14 21:37:06,925 INFO L290 TraceCheckUtils]: 5: Hoare triple {448#true} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {448#true} is VALID [2022-04-14 21:37:06,925 INFO L272 TraceCheckUtils]: 6: Hoare triple {448#true} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {448#true} is VALID [2022-04-14 21:37:06,925 INFO L290 TraceCheckUtils]: 7: Hoare triple {448#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {448#true} is VALID [2022-04-14 21:37:06,925 INFO L290 TraceCheckUtils]: 8: Hoare triple {448#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-14 21:37:06,926 INFO L290 TraceCheckUtils]: 9: Hoare triple {448#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-14 21:37:06,926 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {448#true} {448#true} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {448#true} is VALID [2022-04-14 21:37:06,926 INFO L272 TraceCheckUtils]: 11: Hoare triple {448#true} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {448#true} is VALID [2022-04-14 21:37:06,926 INFO L290 TraceCheckUtils]: 12: Hoare triple {448#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {448#true} is VALID [2022-04-14 21:37:06,926 INFO L290 TraceCheckUtils]: 13: Hoare triple {448#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-14 21:37:06,926 INFO L290 TraceCheckUtils]: 14: Hoare triple {448#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-14 21:37:06,927 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {448#true} {448#true} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {448#true} is VALID [2022-04-14 21:37:08,145 INFO L290 TraceCheckUtils]: 16: Hoare triple {448#true} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {501#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} is VALID [2022-04-14 21:37:08,146 INFO L290 TraceCheckUtils]: 17: Hoare triple {501#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {501#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} is VALID [2022-04-14 21:37:08,147 INFO L290 TraceCheckUtils]: 18: Hoare triple {501#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 1) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {501#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} is VALID [2022-04-14 21:37:08,308 INFO L272 TraceCheckUtils]: 19: Hoare triple {501#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {511#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 21:37:08,309 INFO L290 TraceCheckUtils]: 20: Hoare triple {511#(<= 1 |__VERIFIER_assert_#in~cond|)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {515#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 21:37:08,309 INFO L290 TraceCheckUtils]: 21: Hoare triple {515#(<= 1 __VERIFIER_assert_~cond)} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {449#false} is VALID [2022-04-14 21:37:08,309 INFO L290 TraceCheckUtils]: 22: Hoare triple {449#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {449#false} is VALID [2022-04-14 21:37:08,309 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 21:37:08,310 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 21:37:08,310 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 21:37:08,310 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [406521365] [2022-04-14 21:37:08,310 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 21:37:08,310 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1347704145] [2022-04-14 21:37:08,310 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1347704145] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 21:37:08,310 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 21:37:08,310 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-14 21:37:08,310 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1030929543] [2022-04-14 21:37:08,310 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 21:37:08,311 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-14 21:37:08,311 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 21:37:08,311 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-14 21:37:12,033 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 19 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-14 21:37:12,033 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-14 21:37:12,034 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 21:37:12,034 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-14 21:37:12,034 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-14 21:37:12,034 INFO L87 Difference]: Start difference. First operand 34 states and 43 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-14 21:37:14,075 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 21:37:18,942 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.44s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 21:37:21,197 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.01s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 21:37:23,611 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 21:37:23,649 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:37:23,649 INFO L93 Difference]: Finished difference Result 51 states and 68 transitions. [2022-04-14 21:37:23,649 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-14 21:37:23,649 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-14 21:37:23,649 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 21:37:23,650 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-14 21:37:23,653 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-14 21:37:23,653 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-14 21:37:23,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-14 21:37:23,655 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 67 transitions. [2022-04-14 21:37:26,886 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 66 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-14 21:37:26,888 INFO L225 Difference]: With dead ends: 51 [2022-04-14 21:37:26,888 INFO L226 Difference]: Without dead ends: 51 [2022-04-14 21:37:26,888 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-14 21:37:26,889 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 16 mSDsluCounter, 83 mSDsCounter, 0 mSdLazyCounter, 56 mSolverCounterSat, 2 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 8.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 56 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 8.1s IncrementalHoareTripleChecker+Time [2022-04-14 21:37:26,889 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 116 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 56 Invalid, 2 Unknown, 0 Unchecked, 8.1s Time] [2022-04-14 21:37:26,890 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-14 21:37:26,893 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-14 21:37:26,893 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 21:37:26,893 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 21:37:26,893 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 21:37:26,894 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 21:37:26,896 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:37:26,896 INFO L93 Difference]: Finished difference Result 51 states and 68 transitions. [2022-04-14 21:37:26,896 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 68 transitions. [2022-04-14 21:37:26,896 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:37:26,897 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:37:26,897 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 51 states. [2022-04-14 21:37:26,897 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 51 states. [2022-04-14 21:37:26,899 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:37:26,899 INFO L93 Difference]: Finished difference Result 51 states and 68 transitions. [2022-04-14 21:37:26,899 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 68 transitions. [2022-04-14 21:37:26,900 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:37:26,900 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:37:26,900 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 21:37:26,900 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 21:37:26,900 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 21:37:26,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 67 transitions. [2022-04-14 21:37:26,902 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 67 transitions. Word has length 23 [2022-04-14 21:37:26,902 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 21:37:26,902 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 67 transitions. [2022-04-14 21:37:26,902 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-14 21:37:26,902 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 67 transitions. [2022-04-14 21:37:26,903 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-14 21:37:26,903 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 21:37:26,903 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 21:37:26,919 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 21:37:27,118 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:37:27,119 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 21:37:27,119 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 21:37:27,120 INFO L85 PathProgramCache]: Analyzing trace with hash 740915101, now seen corresponding path program 1 times [2022-04-14 21:37:27,120 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 21:37:27,120 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [737562568] [2022-04-14 21:37:27,120 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:37:27,120 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 21:37:27,132 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 21:37:27,132 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [529782409] [2022-04-14 21:37:27,132 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:37:27,132 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:37:27,133 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:37:27,139 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 21:37:27,161 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 21:37:27,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:37:27,192 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-14 21:37:27,200 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:37:27,201 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 21:37:27,365 INFO L272 TraceCheckUtils]: 0: Hoare triple {726#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:37:27,366 INFO L290 TraceCheckUtils]: 1: Hoare triple {726#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {726#true} is VALID [2022-04-14 21:37:27,368 INFO L290 TraceCheckUtils]: 2: Hoare triple {726#true} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:37:27,368 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {726#true} {726#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:37:27,369 INFO L272 TraceCheckUtils]: 4: Hoare triple {726#true} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:37:27,369 INFO L290 TraceCheckUtils]: 5: Hoare triple {726#true} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {726#true} is VALID [2022-04-14 21:37:27,369 INFO L272 TraceCheckUtils]: 6: Hoare triple {726#true} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {726#true} is VALID [2022-04-14 21:37:27,369 INFO L290 TraceCheckUtils]: 7: Hoare triple {726#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {726#true} is VALID [2022-04-14 21:37:27,369 INFO L290 TraceCheckUtils]: 8: Hoare triple {726#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:37:27,369 INFO L290 TraceCheckUtils]: 9: Hoare triple {726#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:37:27,369 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {726#true} {726#true} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {726#true} is VALID [2022-04-14 21:37:27,372 INFO L272 TraceCheckUtils]: 11: Hoare triple {726#true} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {726#true} is VALID [2022-04-14 21:37:27,372 INFO L290 TraceCheckUtils]: 12: Hoare triple {726#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {726#true} is VALID [2022-04-14 21:37:27,372 INFO L290 TraceCheckUtils]: 13: Hoare triple {726#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:37:27,372 INFO L290 TraceCheckUtils]: 14: Hoare triple {726#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:37:27,373 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {726#true} {726#true} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {726#true} is VALID [2022-04-14 21:37:27,373 INFO L290 TraceCheckUtils]: 16: Hoare triple {726#true} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {726#true} is VALID [2022-04-14 21:37:27,374 INFO L290 TraceCheckUtils]: 17: Hoare triple {726#true} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {726#true} is VALID [2022-04-14 21:37:27,374 INFO L290 TraceCheckUtils]: 18: Hoare triple {726#true} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 1) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {726#true} is VALID [2022-04-14 21:37:27,374 INFO L272 TraceCheckUtils]: 19: Hoare triple {726#true} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {726#true} is VALID [2022-04-14 21:37:27,374 INFO L290 TraceCheckUtils]: 20: Hoare triple {726#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {791#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 21:37:27,375 INFO L290 TraceCheckUtils]: 21: Hoare triple {791#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {795#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 21:37:27,376 INFO L290 TraceCheckUtils]: 22: Hoare triple {795#(not (= |__VERIFIER_assert_#in~cond| 0))} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {795#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 21:37:27,377 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {795#(not (= |__VERIFIER_assert_#in~cond| 0))} {726#true} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {802#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4) (* main_~r~0 4)))} is VALID [2022-04-14 21:37:27,378 INFO L290 TraceCheckUtils]: 24: Hoare triple {802#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4) (* main_~r~0 4)))} [129] L35-1-->L34-3: Formula: (= v_main_~r~0_4 0) InVars {main_~r~0=v_main_~r~0_4} OutVars{main_~r~0=v_main_~r~0_4} AuxVars[] AssignedVars[] {806#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4)))} is VALID [2022-04-14 21:37:27,378 INFO L272 TraceCheckUtils]: 25: Hoare triple {806#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4)))} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {810#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 21:37:27,379 INFO L290 TraceCheckUtils]: 26: Hoare triple {810#(<= 1 |__VERIFIER_assert_#in~cond|)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {814#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 21:37:27,379 INFO L290 TraceCheckUtils]: 27: Hoare triple {814#(<= 1 __VERIFIER_assert_~cond)} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {727#false} is VALID [2022-04-14 21:37:27,380 INFO L290 TraceCheckUtils]: 28: Hoare triple {727#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {727#false} is VALID [2022-04-14 21:37:27,380 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 21:37:27,380 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 21:37:27,760 INFO L290 TraceCheckUtils]: 28: Hoare triple {727#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {727#false} is VALID [2022-04-14 21:37:27,760 INFO L290 TraceCheckUtils]: 27: Hoare triple {814#(<= 1 __VERIFIER_assert_~cond)} [127] L12-->L13: Formula: (= v___VERIFIER_assert_~cond_1 0) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[] {727#false} is VALID [2022-04-14 21:37:27,761 INFO L290 TraceCheckUtils]: 26: Hoare triple {810#(<= 1 |__VERIFIER_assert_#in~cond|)} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {814#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 21:37:27,762 INFO L272 TraceCheckUtils]: 25: Hoare triple {806#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4)))} [120] L34-3-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* v_main_~u~0_12 (- 2)) (* v_main_~v~0_12 2) (* v_main_~u~0_12 v_main_~u~0_12) (* (- 1) (* v_main_~v~0_12 v_main_~v~0_12))) (* v_main_~A~0_16 4)) 1 0) |v___VERIFIER_assert_#in~condInParam_4|) InVars {main_~v~0=v_main_~v~0_12, main_~A~0=v_main_~A~0_16, main_~u~0=v_main_~u~0_12} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_4|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0] {810#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 21:37:27,762 INFO L290 TraceCheckUtils]: 24: Hoare triple {833#(or (not (= main_~r~0 0)) (= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4))))} [129] L35-1-->L34-3: Formula: (= v_main_~r~0_4 0) InVars {main_~r~0=v_main_~r~0_4} OutVars{main_~r~0=v_main_~r~0_4} AuxVars[] AssignedVars[] {806#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4)))} is VALID [2022-04-14 21:37:27,763 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {795#(not (= |__VERIFIER_assert_#in~cond| 0))} {726#true} [152] __VERIFIER_assertEXIT-->L35-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {833#(or (not (= main_~r~0 0)) (= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4))))} is VALID [2022-04-14 21:37:27,763 INFO L290 TraceCheckUtils]: 22: Hoare triple {795#(not (= |__VERIFIER_assert_#in~cond| 0))} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {795#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 21:37:27,763 INFO L290 TraceCheckUtils]: 21: Hoare triple {846#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} [128] L12-->L12-2: Formula: (not (= v___VERIFIER_assert_~cond_2 0)) InVars {__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} OutVars{__VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_2} AuxVars[] AssignedVars[] {795#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 21:37:27,764 INFO L290 TraceCheckUtils]: 20: Hoare triple {726#true} [124] __VERIFIER_assertENTRY-->L12: Formula: (= v___VERIFIER_assert_~cond_3 |v___VERIFIER_assert_#in~cond_1|) InVars {__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~cond_1|, __VERIFIER_assert_~cond=v___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[__VERIFIER_assert_~cond] {846#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 21:37:27,764 INFO L272 TraceCheckUtils]: 19: Hoare triple {726#true} [125] L35-->__VERIFIER_assertENTRY: Formula: (= (ite (= (+ (* (- 2) v_main_~u~0_9) (* v_main_~u~0_9 v_main_~u~0_9) (* (- 1) (* v_main_~v~0_9 v_main_~v~0_9)) (* v_main_~v~0_9 2)) (+ (* v_main_~A~0_13 4) (* v_main_~r~0_14 4))) 1 0) |v___VERIFIER_assert_#in~condInParam_1|) InVars {main_~v~0=v_main_~v~0_9, main_~A~0=v_main_~A~0_13, main_~u~0=v_main_~u~0_9, main_~r~0=v_main_~r~0_14} OutVars{__VERIFIER_assert_#in~cond=|v___VERIFIER_assert_#in~condInParam_1|} AuxVars[] AssignedVars[__VERIFIER_assert_#in~cond, main_~v~0, main_~A~0, main_~u~0, main_~r~0] {726#true} is VALID [2022-04-14 21:37:27,764 INFO L290 TraceCheckUtils]: 18: Hoare triple {726#true} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 1) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {726#true} is VALID [2022-04-14 21:37:27,764 INFO L290 TraceCheckUtils]: 17: Hoare triple {726#true} [118] L47-3-->L34-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {726#true} is VALID [2022-04-14 21:37:27,764 INFO L290 TraceCheckUtils]: 16: Hoare triple {726#true} [114] L27-->L47-3: Formula: (and (= v_main_~v~0_3 1) (= v_main_~r~0_2 (+ (* v_main_~R~0_5 v_main_~R~0_5) (* (- 1) v_main_~A~0_7))) (= v_main_~u~0_3 (+ (* v_main_~R~0_5 2) 1))) InVars {main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5} OutVars{main_~v~0=v_main_~v~0_3, main_~A~0=v_main_~A~0_7, main_~R~0=v_main_~R~0_5, main_~u~0=v_main_~u~0_3, main_~r~0=v_main_~r~0_2} AuxVars[] AssignedVars[main_~v~0, main_~u~0, main_~r~0] {726#true} is VALID [2022-04-14 21:37:27,765 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {726#true} {726#true} [150] assume_abort_if_notEXIT-->L27: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {726#true} is VALID [2022-04-14 21:37:27,765 INFO L290 TraceCheckUtils]: 14: Hoare triple {726#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:37:27,765 INFO L290 TraceCheckUtils]: 13: Hoare triple {726#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:37:27,765 INFO L290 TraceCheckUtils]: 12: Hoare triple {726#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {726#true} is VALID [2022-04-14 21:37:27,765 INFO L272 TraceCheckUtils]: 11: Hoare triple {726#true} [112] L25-1-->assume_abort_if_notENTRY: Formula: (= |v_assume_abort_if_not_#in~condInParam_2| (ite (= (let ((.cse0 (mod v_main_~A~0_12 2))) (ite (and (< v_main_~A~0_12 0) (not (= .cse0 0))) (+ (- 2) .cse0) .cse0)) 1) 1 0)) InVars {main_~A~0=v_main_~A~0_12} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_2|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond] {726#true} is VALID [2022-04-14 21:37:27,765 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {726#true} {726#true} [149] assume_abort_if_notEXIT-->L25-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {726#true} is VALID [2022-04-14 21:37:27,765 INFO L290 TraceCheckUtils]: 9: Hoare triple {726#true} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:37:27,766 INFO L290 TraceCheckUtils]: 8: Hoare triple {726#true} [116] L9-->L9-2: Formula: (not (= v_assume_abort_if_not_~cond_3 0)) InVars {assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} OutVars{assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_3} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:37:27,766 INFO L290 TraceCheckUtils]: 7: Hoare triple {726#true} [113] assume_abort_if_notENTRY-->L9: Formula: (= |v_assume_abort_if_not_#in~cond_1| v_assume_abort_if_not_~cond_1) InVars {assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~cond_1|, assume_abort_if_not_~cond=v_assume_abort_if_not_~cond_1} AuxVars[] AssignedVars[assume_abort_if_not_~cond] {726#true} is VALID [2022-04-14 21:37:27,766 INFO L272 TraceCheckUtils]: 6: Hoare triple {726#true} [111] L25-->assume_abort_if_notENTRY: Formula: (= (ite (< (+ (* v_main_~R~0_6 v_main_~R~0_6) 1) (+ (* v_main_~R~0_6 2) v_main_~A~0_11)) 1 0) |v_assume_abort_if_not_#in~condInParam_1|) InVars {main_~A~0=v_main_~A~0_11, main_~R~0=v_main_~R~0_6} OutVars{assume_abort_if_not_#in~cond=|v_assume_abort_if_not_#in~condInParam_1|} AuxVars[] AssignedVars[main_~A~0, assume_abort_if_not_#in~cond, main_~R~0] {726#true} is VALID [2022-04-14 21:37:27,766 INFO L290 TraceCheckUtils]: 5: Hoare triple {726#true} [109] mainENTRY-->L25: Formula: (and (<= |v_main_#t~nondet5_2| 2147483647) (= v_main_~R~0_1 |v_main_#t~nondet5_2|) (<= 0 (+ |v_main_#t~nondet4_2| 2147483648)) (<= |v_main_#t~nondet4_2| 2147483647) (<= 0 (+ |v_main_#t~nondet5_2| 2147483648)) (= v_main_~A~0_2 |v_main_#t~nondet4_2|)) InVars {main_#t~nondet5=|v_main_#t~nondet5_2|, main_#t~nondet4=|v_main_#t~nondet4_2|} OutVars{main_~v~0=v_main_~v~0_2, main_~A~0=v_main_~A~0_2, main_~R~0=v_main_~R~0_1, main_~u~0=v_main_~u~0_2, main_~r~0=v_main_~r~0_1} AuxVars[] AssignedVars[main_#t~nondet5, main_#t~nondet4, main_~v~0, main_~A~0, main_~R~0, main_~u~0, main_~r~0] {726#true} is VALID [2022-04-14 21:37:27,766 INFO L272 TraceCheckUtils]: 4: Hoare triple {726#true} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:37:27,766 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {726#true} {726#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:37:27,766 INFO L290 TraceCheckUtils]: 2: Hoare triple {726#true} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:37:27,766 INFO L290 TraceCheckUtils]: 1: Hoare triple {726#true} [107] ULTIMATE.initENTRY-->ULTIMATE.initFINAL: Formula: (let ((.cse0 (select |v_#memory_int_1| 1))) (and (= 48 (select .cse0 0)) (= (select |v_#valid_1| 2) 1) (= (select |v_#valid_1| 0) 0) (< 0 |v_#StackHeapBarrier_1|) (= |v_#NULL.base_1| 0) (= 1 (select |v_#valid_1| 3)) (= (select |v_#length_1| 3) 12) (= v_~counter~0_7 0) (= (select |v_#length_1| 2) 13) (= (select |v_#valid_1| 1) 1) (= 2 (select |v_#length_1| 1)) (= (select .cse0 1) 0) (= |v_#NULL.offset_1| 0))) InVars {#memory_int=|v_#memory_int_1|, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #length=|v_#length_1|, #valid=|v_#valid_1|} OutVars{~counter~0=v_~counter~0_7, #StackHeapBarrier=|v_#StackHeapBarrier_1|, #valid=|v_#valid_1|, #memory_int=|v_#memory_int_1|, #NULL.offset=|v_#NULL.offset_1|, #length=|v_#length_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[~counter~0, #NULL.offset, #NULL.base] {726#true} is VALID [2022-04-14 21:37:27,767 INFO L272 TraceCheckUtils]: 0: Hoare triple {726#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-14 21:37:27,767 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 21:37:27,767 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 21:37:27,767 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [737562568] [2022-04-14 21:37:27,767 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 21:37:27,767 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [529782409] [2022-04-14 21:37:27,767 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [529782409] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 21:37:27,767 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 21:37:27,767 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-14 21:37:27,768 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [733193897] [2022-04-14 21:37:27,768 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 21:37:27,768 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) Word has length 29 [2022-04-14 21:37:27,768 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 21:37:27,768 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-14 21:37:27,786 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 21:37:27,786 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-14 21:37:27,786 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 21:37:27,786 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-14 21:37:27,786 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-04-14 21:37:27,787 INFO L87 Difference]: Start difference. First operand 50 states and 67 transitions. Second operand has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-14 21:37:28,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:37:28,148 INFO L93 Difference]: Finished difference Result 55 states and 71 transitions. [2022-04-14 21:37:28,148 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-14 21:37:28,148 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) Word has length 29 [2022-04-14 21:37:28,148 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 21:37:28,148 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-14 21:37:28,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 46 transitions. [2022-04-14 21:37:28,150 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-14 21:37:28,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 46 transitions. [2022-04-14 21:37:28,151 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 46 transitions. [2022-04-14 21:37:28,187 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 21:37:28,188 INFO L225 Difference]: With dead ends: 55 [2022-04-14 21:37:28,188 INFO L226 Difference]: Without dead ends: 52 [2022-04-14 21:37:28,189 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 48 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2022-04-14 21:37:28,189 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 25 mSDsluCounter, 118 mSDsCounter, 0 mSdLazyCounter, 93 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 147 SdHoareTripleChecker+Invalid, 107 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 93 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-14 21:37:28,190 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [27 Valid, 147 Invalid, 107 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 93 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-14 21:37:28,190 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-14 21:37:28,192 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 36. [2022-04-14 21:37:28,192 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 21:37:28,192 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 36 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 21:37:28,192 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 36 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 21:37:28,192 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 36 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 21:37:28,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:37:28,195 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-14 21:37:28,195 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-14 21:37:28,195 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:37:28,195 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:37:28,195 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 52 states. [2022-04-14 21:37:28,196 INFO L87 Difference]: Start difference. First operand has 36 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 52 states. [2022-04-14 21:37:28,197 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:37:28,197 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-14 21:37:28,197 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-14 21:37:28,198 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:37:28,198 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:37:28,198 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 21:37:28,198 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 21:37:28,198 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 21:37:28,199 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 43 transitions. [2022-04-14 21:37:28,199 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 43 transitions. Word has length 29 [2022-04-14 21:37:28,199 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 21:37:28,199 INFO L478 AbstractCegarLoop]: Abstraction has 36 states and 43 transitions. [2022-04-14 21:37:28,199 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-14 21:37:28,200 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 43 transitions. [2022-04-14 21:37:28,200 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-14 21:37:28,200 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 21:37:28,200 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 21:37:28,229 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-14 21:37:28,414 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:37:28,414 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 21:37:28,414 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 21:37:28,414 INFO L85 PathProgramCache]: Analyzing trace with hash -1345250901, now seen corresponding path program 1 times [2022-04-14 21:37:28,414 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 21:37:28,415 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [504296815] [2022-04-14 21:37:28,415 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:37:28,415 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 21:37:28,425 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 21:37:28,425 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1179403617] [2022-04-14 21:37:28,425 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:37:28,425 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:37:28,425 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:37:28,426 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 21:37:28,427 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 21:37:28,465 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-14 21:37:28,466 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-04-14 21:37:28,475 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-14 21:37:28,505 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-04-14 21:37:28,505 INFO L618 BasicCegarLoop]: Counterexample is feasible [2022-04-14 21:37:28,506 INFO L788 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-14 21:37:28,538 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 21:37:28,739 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:37:28,741 INFO L719 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1, 1] [2022-04-14 21:37:28,743 INFO L177 ceAbstractionStarter]: Computing trace abstraction results [2022-04-14 21:37:28,760 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 14.04 09:37:28 BasicIcfg [2022-04-14 21:37:28,760 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-14 21:37:28,760 INFO L158 Benchmark]: Toolchain (without parser) took 26011.96ms. Allocated memory was 211.8MB in the beginning and 254.8MB in the end (delta: 43.0MB). Free memory was 160.8MB in the beginning and 125.4MB in the end (delta: 35.4MB). Peak memory consumption was 78.6MB. Max. memory is 8.0GB. [2022-04-14 21:37:28,761 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 211.8MB. Free memory is still 177.0MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-14 21:37:28,761 INFO L158 Benchmark]: CACSL2BoogieTranslator took 190.97ms. Allocated memory is still 211.8MB. Free memory was 160.6MB in the beginning and 185.2MB in the end (delta: -24.6MB). Peak memory consumption was 5.9MB. Max. memory is 8.0GB. [2022-04-14 21:37:28,761 INFO L158 Benchmark]: Boogie Preprocessor took 33.61ms. Allocated memory is still 211.8MB. Free memory was 185.2MB in the beginning and 183.8MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-14 21:37:28,761 INFO L158 Benchmark]: RCFGBuilder took 249.36ms. Allocated memory is still 211.8MB. Free memory was 183.7MB in the beginning and 170.8MB in the end (delta: 12.9MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. [2022-04-14 21:37:28,761 INFO L158 Benchmark]: IcfgTransformer took 32.09ms. Allocated memory is still 211.8MB. Free memory was 170.8MB in the beginning and 169.0MB in the end (delta: 1.8MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-14 21:37:28,762 INFO L158 Benchmark]: TraceAbstraction took 25479.14ms. Allocated memory was 211.8MB in the beginning and 254.8MB in the end (delta: 43.0MB). Free memory was 168.4MB in the beginning and 125.4MB in the end (delta: 43.0MB). Peak memory consumption was 87.1MB. Max. memory is 8.0GB. [2022-04-14 21:37:28,763 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.09ms. Allocated memory is still 211.8MB. Free memory is still 177.0MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 190.97ms. Allocated memory is still 211.8MB. Free memory was 160.6MB in the beginning and 185.2MB in the end (delta: -24.6MB). Peak memory consumption was 5.9MB. Max. memory is 8.0GB. * Boogie Preprocessor took 33.61ms. Allocated memory is still 211.8MB. Free memory was 185.2MB in the beginning and 183.8MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 249.36ms. Allocated memory is still 211.8MB. Free memory was 183.7MB in the beginning and 170.8MB in the end (delta: 12.9MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. * IcfgTransformer took 32.09ms. Allocated memory is still 211.8MB. Free memory was 170.8MB in the beginning and 169.0MB in the end (delta: 1.8MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * TraceAbstraction took 25479.14ms. Allocated memory was 211.8MB in the beginning and 254.8MB in the end (delta: 43.0MB). Free memory was 168.4MB in the beginning and 125.4MB in the end (delta: 43.0MB). Peak memory consumption was 87.1MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - CounterExampleResult [Line: 14]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L19] int counter = 0; VAL [\old(counter)=7, counter=0] [L21] int A, R; [L22] long long u, v, r; [L23] A = __VERIFIER_nondet_int() [L24] R = __VERIFIER_nondet_int() [L25] CALL assume_abort_if_not((((long long) R - 1) * ((long long) R - 1)) < A) VAL [\old(cond)=1, \old(counter)=0, counter=0] [L9] COND FALSE !(!cond) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=0] [L25] RET assume_abort_if_not((((long long) R - 1) * ((long long) R - 1)) < A) VAL [\old(counter)=0, A=3, counter=0, R=2] [L27] CALL assume_abort_if_not(A % 2 == 1) VAL [\old(cond)=1, \old(counter)=0, counter=0] [L9] COND FALSE !(!cond) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=0] [L27] RET assume_abort_if_not(A % 2 == 1) VAL [\old(counter)=0, A=3, counter=0, R=2] [L29] u = ((long long) 2 * R) + 1 [L30] v = 1 [L31] r = ((long long) R * R) - A VAL [\old(counter)=0, A=3, counter=0, R=2, r=1, u=5, v=1] [L34] EXPR counter++ VAL [\old(counter)=0, A=3, counter=1, counter++=0, R=2, r=1, u=5, v=1] [L34] COND TRUE counter++<1 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=1] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=1] [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=3, counter=1, r=1, R=2, u=5, v=1] [L36] COND FALSE !(!(r != 0)) VAL [\old(counter)=0, A=3, counter=1, r=1, R=2, u=5, v=1] [L39] EXPR counter++ VAL [\old(counter)=0, A=3, counter=2, counter++=1, R=2, r=1, u=5, v=1] [L39] COND FALSE !(counter++<1) [L47] EXPR counter++ VAL [\old(counter)=0, A=3, counter=3, counter++=2, R=2, r=1, u=5, v=1] [L47] COND FALSE !(counter++<1) [L34] EXPR counter++ VAL [\old(counter)=0, A=3, counter=4, counter++=3, R=2, r=1, u=5, v=1] [L34] COND FALSE !(counter++<1) [L56] CALL __VERIFIER_assert(((long long) 4*A) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=0, \old(counter)=0, counter=4] [L12] COND TRUE !(cond) VAL [\old(cond)=0, \old(counter)=0, cond=0, counter=4] [L14] reach_error() VAL [\old(cond)=0, \old(counter)=0, cond=0, counter=4] - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 37 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 25.4s, OverallIterations: 5, TraceHistogramMax: 2, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 15.5s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 2 mSolverCounterUnknown, 46 SdHoareTripleChecker+Valid, 8.2s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 41 mSDsluCounter, 410 SdHoareTripleChecker+Invalid, 8.2s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 263 mSDsCounter, 16 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 158 IncrementalHoareTripleChecker+Invalid, 176 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 16 mSolverCounterUnsat, 147 mSDtfsCounter, 158 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 126 GetRequests, 108 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=50occurred in iteration=3, InterpolantAutomatonStates: 19, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.1s AutomataMinimizationTime, 4 MinimizatonAttempts, 17 StatesRemovedByMinimization, 2 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.1s SatisfiabilityAnalysisTime, 4.4s InterpolantComputationTime, 132 NumberOfCodeBlocks, 132 NumberOfCodeBlocksAsserted, 5 NumberOfCheckSat, 121 ConstructedInterpolants, 0 QuantifiedInterpolants, 357 SizeOfPredicates, 10 NumberOfNonLiveVariables, 379 ConjunctsInSsa, 29 ConjunctsInUnsatCore, 5 InterpolantComputations, 3 PerfectInterpolantSequences, 22/24 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! [2022-04-14 21:37:28,784 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...