/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_unwindbound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-14 21:37:57,271 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-14 21:37:57,274 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-14 21:37:57,322 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-14 21:37:57,323 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-14 21:37:57,324 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-14 21:37:57,327 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-14 21:37:57,329 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-14 21:37:57,331 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-14 21:37:57,336 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-14 21:37:57,337 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-14 21:37:57,338 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-14 21:37:57,338 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-14 21:37:57,339 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-14 21:37:57,340 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-14 21:37:57,340 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-14 21:37:57,341 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-14 21:37:57,341 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-14 21:37:57,343 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-14 21:37:57,344 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-14 21:37:57,345 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-14 21:37:57,348 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-14 21:37:57,349 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-14 21:37:57,352 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-14 21:37:57,353 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-14 21:37:57,361 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-14 21:37:57,361 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-14 21:37:57,361 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-14 21:37:57,362 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-14 21:37:57,362 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-14 21:37:57,364 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-14 21:37:57,364 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-14 21:37:57,365 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-14 21:37:57,366 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-14 21:37:57,366 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-14 21:37:57,367 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-14 21:37:57,367 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-14 21:37:57,368 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-14 21:37:57,368 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-14 21:37:57,368 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-14 21:37:57,369 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-14 21:37:57,371 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-14 21:37:57,372 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:57,383 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-14 21:37:57,384 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-14 21:37:57,385 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-14 21:37:57,385 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-14 21:37:57,385 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-14 21:37:57,385 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-14 21:37:57,385 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-14 21:37:57,385 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-14 21:37:57,386 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-14 21:37:57,386 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-14 21:37:57,386 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-14 21:37:57,387 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-14 21:37:57,387 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-14 21:37:57,387 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-14 21:37:57,387 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-14 21:37:57,387 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-14 21:37:57,387 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-14 21:37:57,387 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-14 21:37:57,388 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 21:37:57,388 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-14 21:37:57,388 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-14 21:37:57,391 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2022-04-14 21:37:57,391 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:57,629 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-14 21:37:57,653 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-14 21:37:57,655 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-14 21:37:57,656 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-14 21:37:57,656 INFO L275 PluginConnector]: CDTParser initialized [2022-04-14 21:37:57,657 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound2.c [2022-04-14 21:37:57,711 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/50874490d/ccc038ac8fa34d16953cf28fc7db658d/FLAG667174603 [2022-04-14 21:37:58,130 INFO L306 CDTParser]: Found 1 translation units. [2022-04-14 21:37:58,130 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound2.c [2022-04-14 21:37:58,140 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/50874490d/ccc038ac8fa34d16953cf28fc7db658d/FLAG667174603 [2022-04-14 21:37:58,158 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/50874490d/ccc038ac8fa34d16953cf28fc7db658d [2022-04-14 21:37:58,160 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-14 21:37:58,161 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2022-04-14 21:37:58,162 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-14 21:37:58,163 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-14 21:37:58,166 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-14 21:37:58,167 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 09:37:58" (1/1) ... [2022-04-14 21:37:58,168 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@63e091d2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:37:58, skipping insertion in model container [2022-04-14 21:37:58,168 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 09:37:58" (1/1) ... [2022-04-14 21:37:58,174 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-14 21:37:58,188 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-14 21:37:58,369 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_unwindbound2.c[535,548] [2022-04-14 21:37:58,412 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 21:37:58,419 INFO L203 MainTranslator]: Completed pre-run [2022-04-14 21:37:58,433 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_unwindbound2.c[535,548] [2022-04-14 21:37:58,452 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 21:37:58,463 INFO L208 MainTranslator]: Completed translation [2022-04-14 21:37:58,464 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:37:58 WrapperNode [2022-04-14 21:37:58,464 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-14 21:37:58,465 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-14 21:37:58,465 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-14 21:37:58,466 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-14 21:37:58,474 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:58" (1/1) ... [2022-04-14 21:37:58,474 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:58" (1/1) ... [2022-04-14 21:37:58,487 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:58" (1/1) ... [2022-04-14 21:37:58,487 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:58" (1/1) ... [2022-04-14 21:37:58,500 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:58" (1/1) ... [2022-04-14 21:37:58,504 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:58" (1/1) ... [2022-04-14 21:37:58,504 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:58" (1/1) ... [2022-04-14 21:37:58,506 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-14 21:37:58,506 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-14 21:37:58,506 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-14 21:37:58,506 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-14 21:37:58,509 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:37:58" (1/1) ... [2022-04-14 21:37:58,515 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 21:37:58,524 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:37:58,536 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:58,562 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:58,577 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-14 21:37:58,577 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-14 21:37:58,577 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-14 21:37:58,577 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-14 21:37:58,578 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-14 21:37:58,578 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-14 21:37:58,578 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-14 21:37:58,578 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-14 21:37:58,579 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-14 21:37:58,579 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-14 21:37:58,579 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-14 21:37:58,579 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-14 21:37:58,579 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-14 21:37:58,580 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-14 21:37:58,580 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-14 21:37:58,582 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-14 21:37:58,582 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-14 21:37:58,582 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-14 21:37:58,582 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-14 21:37:58,582 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-14 21:37:58,639 INFO L234 CfgBuilder]: Building ICFG [2022-04-14 21:37:58,640 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-14 21:37:58,844 INFO L275 CfgBuilder]: Performing block encoding [2022-04-14 21:37:58,853 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-14 21:37:58,853 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-14 21:37:58,855 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 09:37:58 BoogieIcfgContainer [2022-04-14 21:37:58,855 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-14 21:37:58,856 INFO L113 PluginConnector]: ------------------------IcfgTransformer---------------------------- [2022-04-14 21:37:58,856 INFO L271 PluginConnector]: Initializing IcfgTransformer... [2022-04-14 21:37:58,860 INFO L275 PluginConnector]: IcfgTransformer initialized [2022-04-14 21:37:58,862 INFO L185 PluginConnector]: Executing the observer IcfgTransformationObserver from plugin IcfgTransformer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 09:37:58" (1/1) ... [2022-04-14 21:37:58,864 INFO L168 ansformationObserver]: Applying ICFG transformation LOOP_ACCELERATION_JORDAN [2022-04-14 21:37:58,912 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 14.04 09:37:58 BasicIcfg [2022-04-14 21:37:58,913 INFO L132 PluginConnector]: ------------------------ END IcfgTransformer---------------------------- [2022-04-14 21:37:58,914 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-14 21:37:58,914 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-14 21:37:58,916 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-14 21:37:58,917 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.04 09:37:58" (1/4) ... [2022-04-14 21:37:58,917 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@314a4f53 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 09:37:58, skipping insertion in model container [2022-04-14 21:37:58,917 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 09:37:58" (2/4) ... [2022-04-14 21:37:58,917 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@314a4f53 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 09:37:58, skipping insertion in model container [2022-04-14 21:37:58,918 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 09:37:58" (3/4) ... [2022-04-14 21:37:58,923 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@314a4f53 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 14.04 09:37:58, skipping insertion in model container [2022-04-14 21:37:58,923 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 14.04 09:37:58" (4/4) ... [2022-04-14 21:37:58,924 INFO L111 eAbstractionObserver]: Analyzing ICFG fermat1-ll_unwindbound2.cJordan [2022-04-14 21:37:58,928 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:ForwardPredicates Determinization: PREDICATE_ABSTRACTION [2022-04-14 21:37:58,928 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-14 21:37:58,975 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-14 21:37:58,982 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:58,983 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-14 21:37:59,000 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:59,006 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-14 21:37:59,006 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 21:37:59,006 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:59,007 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 21:37:59,012 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 21:37:59,013 INFO L85 PathProgramCache]: Analyzing trace with hash -758992103, now seen corresponding path program 1 times [2022-04-14 21:37:59,020 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 21:37:59,021 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [194398073] [2022-04-14 21:37:59,021 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:37:59,022 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 21:37:59,122 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 21:37:59,122 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [98366218] [2022-04-14 21:37:59,122 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:37:59,122 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:37:59,123 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:37:59,124 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:59,125 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:59,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:37:59,189 INFO L263 TraceCheckSpWp]: Trace formula consists of 89 conjuncts, 1 conjunts are in the unsatisfiable core [2022-04-14 21:37:59,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:37:59,207 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 21:37:59,305 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:59,306 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:59,306 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:59,306 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:59,307 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:59,307 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:59,307 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:59,308 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:59,308 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:59,308 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:59,309 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:59,309 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:59,310 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:59,310 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:59,310 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:59,310 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:59,311 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:59,311 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:59,311 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:59,312 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:59,312 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:59,312 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:59,313 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:59,313 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 21:37:59,313 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 21:37:59,313 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [194398073] [2022-04-14 21:37:59,314 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 21:37:59,314 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [98366218] [2022-04-14 21:37:59,314 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [98366218] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 21:37:59,314 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 21:37:59,315 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-04-14 21:37:59,318 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1269504943] [2022-04-14 21:37:59,318 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 21:37:59,324 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:59,325 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 21:37:59,328 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:59,350 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:59,350 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-04-14 21:37:59,350 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 21:37:59,369 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-04-14 21:37:59,370 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-04-14 21:37:59,372 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:59,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:37:59,431 INFO L93 Difference]: Finished difference Result 37 states and 46 transitions. [2022-04-14 21:37:59,431 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-04-14 21:37:59,431 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:59,431 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 21:37:59,432 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:59,439 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 51 transitions. [2022-04-14 21:37:59,440 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:59,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 51 transitions. [2022-04-14 21:37:59,443 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 2 states and 51 transitions. [2022-04-14 21:37:59,492 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:59,499 INFO L225 Difference]: With dead ends: 37 [2022-04-14 21:37:59,500 INFO L226 Difference]: Without dead ends: 32 [2022-04-14 21:37:59,535 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:59,568 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:59,569 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:59,582 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-14 21:37:59,591 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-14 21:37:59,591 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 21:37:59,592 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:59,592 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:59,593 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:59,597 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:37:59,597 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-14 21:37:59,597 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-14 21:37:59,598 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:37:59,598 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:37:59,599 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:59,615 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:59,619 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:37:59,619 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-14 21:37:59,620 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-14 21:37:59,620 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:37:59,620 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:37:59,620 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 21:37:59,621 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 21:37:59,621 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:59,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-14 21:37:59,636 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 22 [2022-04-14 21:37:59,637 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 21:37:59,637 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-14 21:37:59,637 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:59,637 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-14 21:37:59,638 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-14 21:37:59,638 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 21:37:59,638 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:59,663 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:59,860 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:59,861 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 21:37:59,861 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 21:37:59,861 INFO L85 PathProgramCache]: Analyzing trace with hash -713449777, now seen corresponding path program 1 times [2022-04-14 21:37:59,861 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 21:37:59,862 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1696095395] [2022-04-14 21:37:59,862 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:37:59,862 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 21:37:59,880 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 21:37:59,881 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2100929427] [2022-04-14 21:37:59,881 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:37:59,881 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:37:59,881 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:37:59,890 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:59,892 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:59,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:37:59,959 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-14 21:37:59,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:37:59,972 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 21:38:00,157 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:38:00,158 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:38:00,159 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:38:00,159 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:38:00,160 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:38:00,160 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:38:00,161 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:38:00,161 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:38:00,162 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:38:00,162 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:38:00,163 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:38:00,164 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:38:00,164 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:38:00,165 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:38:00,165 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:38:00,167 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:38:00,168 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:38:00,169 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:38:00,169 INFO L290 TraceCheckUtils]: 18: Hoare triple {297#(<= |main_#t~post6| 0)} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 2)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {241#false} is VALID [2022-04-14 21:38:00,169 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:38:00,170 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:38:00,170 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:38:00,170 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:38:00,170 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:38:00,170 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 21:38:00,171 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 21:38:00,171 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1696095395] [2022-04-14 21:38:00,171 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 21:38:00,171 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2100929427] [2022-04-14 21:38:00,171 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2100929427] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 21:38:00,171 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 21:38:00,171 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-14 21:38:00,172 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1801461742] [2022-04-14 21:38:00,172 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 21:38:00,174 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:38:00,175 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 21:38:00,175 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:38:00,193 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:38:00,193 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-14 21:38:00,193 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 21:38:00,194 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-14 21:38:00,194 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-14 21:38:00,194 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:38:00,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:38:00,280 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-14 21:38:00,280 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-14 21:38:00,281 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:38:00,281 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 21:38:00,281 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:38:00,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 44 transitions. [2022-04-14 21:38:00,284 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:38:00,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 44 transitions. [2022-04-14 21:38:00,286 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 44 transitions. [2022-04-14 21:38:00,322 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:38:00,324 INFO L225 Difference]: With dead ends: 34 [2022-04-14 21:38:00,324 INFO L226 Difference]: Without dead ends: 34 [2022-04-14 21:38:00,324 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:38:00,325 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:38:00,326 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:38:00,327 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2022-04-14 21:38:00,330 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 34. [2022-04-14 21:38:00,330 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 21:38:00,330 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:38:00,331 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:38:00,331 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:38:00,334 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:38:00,334 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-14 21:38:00,334 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-14 21:38:00,335 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:38:00,335 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:38:00,335 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:38:00,336 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:38:00,338 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:38:00,338 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-14 21:38:00,338 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-14 21:38:00,339 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:38:00,339 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:38:00,339 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 21:38:00,339 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 21:38:00,339 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:38:00,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 43 transitions. [2022-04-14 21:38:00,342 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 43 transitions. Word has length 23 [2022-04-14 21:38:00,342 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 21:38:00,342 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 43 transitions. [2022-04-14 21:38:00,342 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:38:00,342 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-14 21:38:00,343 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-14 21:38:00,343 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 21:38:00,343 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:38:00,369 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-14 21:38:00,565 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:38:00,566 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 21:38:00,566 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 21:38:00,566 INFO L85 PathProgramCache]: Analyzing trace with hash -712377301, now seen corresponding path program 1 times [2022-04-14 21:38:00,567 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 21:38:00,567 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [621135481] [2022-04-14 21:38:00,567 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:38:00,567 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 21:38:00,584 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 21:38:00,584 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1756704424] [2022-04-14 21:38:00,584 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:38:00,585 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:38:00,585 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:38:00,586 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 21:38:00,590 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:38:00,649 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:38:00,651 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-14 21:38:00,664 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:38:00,666 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 21:38:03,913 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:38:03,914 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:38:03,914 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:38:03,914 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:38:03,915 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:38:03,915 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:38:03,915 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:38:03,915 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:38:03,915 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:38:03,916 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:38:03,916 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:38:03,916 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:38:03,916 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:38:03,917 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:38:03,917 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:38:03,917 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:38:04,082 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:38:04,083 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:38:04,084 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| 2) 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:38:04,892 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:38:04,893 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:38:04,893 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:38:04,893 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:38:04,894 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:38:04,894 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 21:38:04,894 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 21:38:04,894 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [621135481] [2022-04-14 21:38:04,894 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 21:38:04,894 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1756704424] [2022-04-14 21:38:04,894 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1756704424] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 21:38:04,894 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 21:38:04,895 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-14 21:38:04,895 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [754969244] [2022-04-14 21:38:04,895 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 21:38:04,896 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:38:04,896 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 21:38:04,896 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:38:07,673 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:38:07,674 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-14 21:38:07,674 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 21:38:07,674 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-14 21:38:07,674 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-14 21:38:07,675 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:38:12,613 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:38:17,179 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:38:26,404 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.65s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 21:38:26,445 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:38:26,445 INFO L93 Difference]: Finished difference Result 51 states and 68 transitions. [2022-04-14 21:38:26,446 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-14 21:38:26,446 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:38:26,446 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 21:38:26,446 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:38:26,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-14 21:38:26,449 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:38:26,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-14 21:38:26,453 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 67 transitions. [2022-04-14 21:38:30,203 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:38:30,205 INFO L225 Difference]: With dead ends: 51 [2022-04-14 21:38:30,205 INFO L226 Difference]: Without dead ends: 51 [2022-04-14 21:38:30,206 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-14 21:38:30,207 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 16 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 1 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 9.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 122 SdHoareTripleChecker+Invalid, 53 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 9.7s IncrementalHoareTripleChecker+Time [2022-04-14 21:38:30,207 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 122 Invalid, 53 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 50 Invalid, 2 Unknown, 0 Unchecked, 9.7s Time] [2022-04-14 21:38:30,208 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-14 21:38:30,212 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-14 21:38:30,212 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 21:38:30,212 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:38:30,212 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:38:30,213 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:38:30,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:38:30,216 INFO L93 Difference]: Finished difference Result 51 states and 68 transitions. [2022-04-14 21:38:30,216 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 68 transitions. [2022-04-14 21:38:30,217 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:38:30,217 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:38:30,218 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:38:30,218 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:38:30,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:38:30,221 INFO L93 Difference]: Finished difference Result 51 states and 68 transitions. [2022-04-14 21:38:30,221 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 68 transitions. [2022-04-14 21:38:30,222 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:38:30,222 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:38:30,222 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 21:38:30,223 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 21:38:30,223 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:38:30,225 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 67 transitions. [2022-04-14 21:38:30,225 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 67 transitions. Word has length 23 [2022-04-14 21:38:30,226 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 21:38:30,226 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 67 transitions. [2022-04-14 21:38:30,226 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:38:30,226 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 67 transitions. [2022-04-14 21:38:30,227 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-14 21:38:30,227 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 21:38:30,227 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:38:30,251 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-14 21:38:30,428 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:38:30,428 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 21:38:30,428 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 21:38:30,429 INFO L85 PathProgramCache]: Analyzing trace with hash 740915101, now seen corresponding path program 1 times [2022-04-14 21:38:30,429 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 21:38:30,429 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [776866503] [2022-04-14 21:38:30,429 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:38:30,429 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 21:38:30,449 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 21:38:30,450 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1910878419] [2022-04-14 21:38:30,450 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:38:30,450 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:38:30,450 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:38:30,451 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:38:30,477 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:38:30,504 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:38:30,504 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-14 21:38:30,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:38:30,514 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 21:38:30,699 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:38:30,699 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:38:30,699 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:38:30,699 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:38:30,699 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:38:30,700 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:38:30,700 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:38:30,700 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:38:30,700 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:38:30,701 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:38:30,701 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:38:30,701 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:38:30,701 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:38:30,702 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:38:30,702 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:38:30,702 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:38:30,702 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:38:30,702 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:38:30,703 INFO L290 TraceCheckUtils]: 18: Hoare triple {726#true} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 2) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {726#true} is VALID [2022-04-14 21:38:30,703 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:38:30,706 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:38:30,707 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:38:30,707 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:38:30,709 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:38:30,709 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:38:30,710 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:38:30,711 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:38:30,711 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:38:30,711 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:38:30,712 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:38:30,712 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 21:38:31,200 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:38:31,201 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:38:31,201 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:38:31,202 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:38:31,204 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:38:31,207 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:38:31,207 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:38:31,208 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:38:31,208 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:38:31,209 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:38:31,209 INFO L290 TraceCheckUtils]: 18: Hoare triple {726#true} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 2) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {726#true} is VALID [2022-04-14 21:38:31,209 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:38:31,209 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:38:31,209 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:38:31,209 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:38:31,210 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:38:31,210 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:38:31,210 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:38:31,210 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:38:31,210 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:38:31,211 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:38:31,211 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:38:31,211 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:38:31,211 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:38:31,211 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:38:31,211 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:38:31,212 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:38:31,212 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:38:31,212 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:38:31,212 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:38:31,212 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 21:38:31,213 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [776866503] [2022-04-14 21:38:31,213 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 21:38:31,213 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1910878419] [2022-04-14 21:38:31,213 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1910878419] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 21:38:31,213 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 21:38:31,213 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-14 21:38:31,213 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1888903111] [2022-04-14 21:38:31,213 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 21:38:31,214 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:38:31,214 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 21:38:31,214 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:38:31,239 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:38:31,240 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-14 21:38:31,240 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 21:38:31,240 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-14 21:38:31,240 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-04-14 21:38:31,241 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:38:31,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:38:31,686 INFO L93 Difference]: Finished difference Result 55 states and 71 transitions. [2022-04-14 21:38:31,686 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-14 21:38:31,687 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:38:31,687 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 21:38:31,687 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:38:31,689 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 46 transitions. [2022-04-14 21:38:31,689 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:38:31,690 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 46 transitions. [2022-04-14 21:38:31,690 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 46 transitions. [2022-04-14 21:38:31,740 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:38:31,741 INFO L225 Difference]: With dead ends: 55 [2022-04-14 21:38:31,741 INFO L226 Difference]: Without dead ends: 52 [2022-04-14 21:38:31,742 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:38:31,742 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 25 mSDsluCounter, 118 mSDsCounter, 0 mSdLazyCounter, 93 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-14 21:38:31,743 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.2s Time] [2022-04-14 21:38:31,743 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-14 21:38:31,747 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2022-04-14 21:38:31,747 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 21:38:31,748 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 52 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 11 states have call successors, (11), 6 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:38:31,748 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 52 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 11 states have call successors, (11), 6 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:38:31,748 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 52 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 11 states have call successors, (11), 6 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:38:31,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:38:31,751 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-14 21:38:31,751 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-14 21:38:31,752 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:38:31,752 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:38:31,752 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 11 states have call successors, (11), 6 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 52 states. [2022-04-14 21:38:31,752 INFO L87 Difference]: Start difference. First operand has 52 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 11 states have call successors, (11), 6 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 52 states. [2022-04-14 21:38:31,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:38:31,755 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-14 21:38:31,755 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-14 21:38:31,755 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:38:31,755 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:38:31,756 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 21:38:31,756 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 21:38:31,756 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 11 states have call successors, (11), 6 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:38:31,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 66 transitions. [2022-04-14 21:38:31,758 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 66 transitions. Word has length 29 [2022-04-14 21:38:31,758 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 21:38:31,758 INFO L478 AbstractCegarLoop]: Abstraction has 52 states and 66 transitions. [2022-04-14 21:38:31,758 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:38:31,759 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-14 21:38:31,759 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-14 21:38:31,759 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 21:38:31,760 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:38:31,784 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-14 21:38:31,984 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:38:31,984 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 21:38:31,984 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 21:38:31,984 INFO L85 PathProgramCache]: Analyzing trace with hash -1345250901, now seen corresponding path program 1 times [2022-04-14 21:38:31,984 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 21:38:31,985 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1222152377] [2022-04-14 21:38:31,985 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:38:31,985 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 21:38:31,997 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 21:38:31,997 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2096637467] [2022-04-14 21:38:31,998 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:38:31,998 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:38:31,998 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:38:31,999 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:38:32,007 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:38:32,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:38:32,064 INFO L263 TraceCheckSpWp]: Trace formula consists of 118 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-14 21:38:32,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 21:38:32,074 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 21:38:32,248 INFO L272 TraceCheckUtils]: 0: Hoare triple {1126#true} [105] ULTIMATE.startENTRY-->ULTIMATE.initENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1126#true} is VALID [2022-04-14 21:38:32,249 INFO L290 TraceCheckUtils]: 1: Hoare triple {1126#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] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:38:32,249 INFO L290 TraceCheckUtils]: 2: Hoare triple {1134#(<= ~counter~0 0)} [110] ULTIMATE.initFINAL-->ULTIMATE.initEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:38:32,250 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1134#(<= ~counter~0 0)} {1126#true} [148] ULTIMATE.initEXIT-->L-1: AOR: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] LVA: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:38:32,250 INFO L272 TraceCheckUtils]: 4: Hoare triple {1134#(<= ~counter~0 0)} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:38:32,251 INFO L290 TraceCheckUtils]: 5: Hoare triple {1134#(<= ~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] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:38:32,252 INFO L272 TraceCheckUtils]: 6: Hoare triple {1134#(<= ~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] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:38:32,252 INFO L290 TraceCheckUtils]: 7: Hoare triple {1134#(<= ~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] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:38:32,252 INFO L290 TraceCheckUtils]: 8: Hoare triple {1134#(<= ~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[] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:38:32,253 INFO L290 TraceCheckUtils]: 9: Hoare triple {1134#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:38:32,253 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1134#(<= ~counter~0 0)} {1134#(<= ~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] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:38:32,254 INFO L272 TraceCheckUtils]: 11: Hoare triple {1134#(<= ~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] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:38:32,254 INFO L290 TraceCheckUtils]: 12: Hoare triple {1134#(<= ~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] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:38:32,255 INFO L290 TraceCheckUtils]: 13: Hoare triple {1134#(<= ~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[] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:38:32,255 INFO L290 TraceCheckUtils]: 14: Hoare triple {1134#(<= ~counter~0 0)} [119] L9-2-->assume_abort_if_notEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:38:32,256 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1134#(<= ~counter~0 0)} {1134#(<= ~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] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:38:32,256 INFO L290 TraceCheckUtils]: 16: Hoare triple {1134#(<= ~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] {1134#(<= ~counter~0 0)} is VALID [2022-04-14 21:38:32,257 INFO L290 TraceCheckUtils]: 17: Hoare triple {1134#(<= ~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] {1183#(<= ~counter~0 1)} is VALID [2022-04-14 21:38:32,257 INFO L290 TraceCheckUtils]: 18: Hoare triple {1183#(<= ~counter~0 1)} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 2) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1183#(<= ~counter~0 1)} is VALID [2022-04-14 21:38:32,258 INFO L272 TraceCheckUtils]: 19: Hoare triple {1183#(<= ~counter~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] {1183#(<= ~counter~0 1)} is VALID [2022-04-14 21:38:32,258 INFO L290 TraceCheckUtils]: 20: Hoare triple {1183#(<= ~counter~0 1)} [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] {1183#(<= ~counter~0 1)} is VALID [2022-04-14 21:38:32,259 INFO L290 TraceCheckUtils]: 21: Hoare triple {1183#(<= ~counter~0 1)} [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[] {1183#(<= ~counter~0 1)} is VALID [2022-04-14 21:38:32,259 INFO L290 TraceCheckUtils]: 22: Hoare triple {1183#(<= ~counter~0 1)} [133] L12-2-->__VERIFIER_assertEXIT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1183#(<= ~counter~0 1)} is VALID [2022-04-14 21:38:32,260 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1183#(<= ~counter~0 1)} {1183#(<= ~counter~0 1)} [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] {1183#(<= ~counter~0 1)} is VALID [2022-04-14 21:38:32,260 INFO L290 TraceCheckUtils]: 24: Hoare triple {1183#(<= ~counter~0 1)} [130] L35-1-->L39-3: Formula: (not (= v_main_~r~0_5 0)) InVars {main_~r~0=v_main_~r~0_5} OutVars{main_~r~0=v_main_~r~0_5} AuxVars[] AssignedVars[] {1183#(<= ~counter~0 1)} is VALID [2022-04-14 21:38:32,261 INFO L290 TraceCheckUtils]: 25: Hoare triple {1183#(<= ~counter~0 1)} [135] L39-3-->L39-1: Formula: (and (= |v_main_#t~post7_1| v_~counter~0_4) (= (+ |v_main_#t~post7_1| 1) v_~counter~0_3)) InVars {~counter~0=v_~counter~0_4} OutVars{~counter~0=v_~counter~0_3, main_#t~post7=|v_main_#t~post7_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post7] {1208#(<= |main_#t~post7| 1)} is VALID [2022-04-14 21:38:32,261 INFO L290 TraceCheckUtils]: 26: Hoare triple {1208#(<= |main_#t~post7| 1)} [138] L39-1-->L47-2: Formula: (not (< |v_main_#t~post7_3| 2)) InVars {main_#t~post7=|v_main_#t~post7_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post7] {1127#false} is VALID [2022-04-14 21:38:32,261 INFO L290 TraceCheckUtils]: 27: Hoare triple {1127#false} [137] L47-2-->L47: Formula: (and (= (+ |v_main_#t~post8_1| 1) v_~counter~0_5) (= |v_main_#t~post8_1| v_~counter~0_6)) InVars {~counter~0=v_~counter~0_6} OutVars{main_#t~post8=|v_main_#t~post8_1|, ~counter~0=v_~counter~0_5} AuxVars[] AssignedVars[~counter~0, main_#t~post8] {1127#false} is VALID [2022-04-14 21:38:32,261 INFO L290 TraceCheckUtils]: 28: Hoare triple {1127#false} [144] L47-->L47-3: Formula: (not (< |v_main_#t~post8_3| 2)) InVars {main_#t~post8=|v_main_#t~post8_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post8] {1127#false} is VALID [2022-04-14 21:38:32,262 INFO L290 TraceCheckUtils]: 29: Hoare triple {1127#false} [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] {1127#false} is VALID [2022-04-14 21:38:32,262 INFO L290 TraceCheckUtils]: 30: Hoare triple {1127#false} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 2)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {1127#false} is VALID [2022-04-14 21:38:32,262 INFO L272 TraceCheckUtils]: 31: Hoare triple {1127#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] {1127#false} is VALID [2022-04-14 21:38:32,262 INFO L290 TraceCheckUtils]: 32: Hoare triple {1127#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] {1127#false} is VALID [2022-04-14 21:38:32,262 INFO L290 TraceCheckUtils]: 33: Hoare triple {1127#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[] {1127#false} is VALID [2022-04-14 21:38:32,262 INFO L290 TraceCheckUtils]: 34: Hoare triple {1127#false} [131] L13-->__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {1127#false} is VALID [2022-04-14 21:38:32,263 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 21:38:32,263 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 21:38:32,263 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 21:38:32,263 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1222152377] [2022-04-14 21:38:32,263 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 21:38:32,263 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2096637467] [2022-04-14 21:38:32,263 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2096637467] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 21:38:32,263 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 21:38:32,263 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-14 21:38:32,264 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [211473647] [2022-04-14 21:38:32,264 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 21:38:32,264 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-14 21:38:32,264 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 21:38:32,265 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 21:38:32,311 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 21:38:32,311 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-14 21:38:32,311 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 21:38:32,311 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-14 21:38:32,312 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-14 21:38:32,313 INFO L87 Difference]: Start difference. First operand 52 states and 66 transitions. Second operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 21:38:32,408 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:38:32,409 INFO L93 Difference]: Finished difference Result 60 states and 74 transitions. [2022-04-14 21:38:32,409 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-14 21:38:32,409 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-14 21:38:32,410 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 21:38:32,410 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 21:38:32,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-14 21:38:32,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 21:38:32,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-14 21:38:32,413 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-14 21:38:32,452 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:38:32,454 INFO L225 Difference]: With dead ends: 60 [2022-04-14 21:38:32,454 INFO L226 Difference]: Without dead ends: 60 [2022-04-14 21:38:32,454 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-14 21:38:32,455 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 6 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 17 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 120 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 17 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 21:38:32,455 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 120 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 17 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 21:38:32,456 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-14 21:38:32,459 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 60. [2022-04-14 21:38:32,459 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 21:38:32,460 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 60 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 21:38:32,460 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 60 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 21:38:32,460 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 60 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 21:38:32,463 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:38:32,463 INFO L93 Difference]: Finished difference Result 60 states and 74 transitions. [2022-04-14 21:38:32,463 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 74 transitions. [2022-04-14 21:38:32,463 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:38:32,464 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:38:32,464 INFO L74 IsIncluded]: Start isIncluded. First operand has 60 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 60 states. [2022-04-14 21:38:32,464 INFO L87 Difference]: Start difference. First operand has 60 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 60 states. [2022-04-14 21:38:32,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 21:38:32,467 INFO L93 Difference]: Finished difference Result 60 states and 74 transitions. [2022-04-14 21:38:32,467 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 74 transitions. [2022-04-14 21:38:32,467 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 21:38:32,467 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 21:38:32,467 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 21:38:32,468 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 21:38:32,468 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-14 21:38:32,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 74 transitions. [2022-04-14 21:38:32,470 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 74 transitions. Word has length 35 [2022-04-14 21:38:32,470 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 21:38:32,470 INFO L478 AbstractCegarLoop]: Abstraction has 60 states and 74 transitions. [2022-04-14 21:38:32,471 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 21:38:32,471 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 74 transitions. [2022-04-14 21:38:32,471 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-14 21:38:32,472 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 21:38:32,472 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 21:38:32,496 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:38:32,694 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:38:32,694 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 21:38:32,694 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 21:38:32,695 INFO L85 PathProgramCache]: Analyzing trace with hash -516919762, now seen corresponding path program 1 times [2022-04-14 21:38:32,695 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 21:38:32,695 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1128884153] [2022-04-14 21:38:32,695 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:38:32,695 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 21:38:32,708 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 21:38:32,708 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [867774237] [2022-04-14 21:38:32,708 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 21:38:32,708 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:38:32,708 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 21:38:32,710 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 21:38:32,717 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-14 21:38:32,758 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-14 21:38:32,759 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-04-14 21:38:32,771 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-14 21:38:32,790 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-04-14 21:38:32,790 INFO L618 BasicCegarLoop]: Counterexample is feasible [2022-04-14 21:38:32,791 INFO L788 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-14 21:38:32,817 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-14 21:38:33,009 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 21:38:33,012 INFO L719 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1, 1, 1] [2022-04-14 21:38:33,014 INFO L177 ceAbstractionStarter]: Computing trace abstraction results [2022-04-14 21:38:33,039 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 14.04 09:38:33 BasicIcfg [2022-04-14 21:38:33,039 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-14 21:38:33,040 INFO L158 Benchmark]: Toolchain (without parser) took 34878.29ms. Allocated memory was 182.5MB in the beginning and 242.2MB in the end (delta: 59.8MB). Free memory was 134.3MB in the beginning and 193.5MB in the end (delta: -59.2MB). Peak memory consumption was 772.0kB. Max. memory is 8.0GB. [2022-04-14 21:38:33,040 INFO L158 Benchmark]: CDTParser took 0.14ms. Allocated memory is still 182.5MB. Free memory is still 151.3MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-14 21:38:33,040 INFO L158 Benchmark]: CACSL2BoogieTranslator took 301.73ms. Allocated memory is still 182.5MB. Free memory was 134.2MB in the beginning and 160.0MB in the end (delta: -25.8MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-14 21:38:33,040 INFO L158 Benchmark]: Boogie Preprocessor took 41.01ms. Allocated memory is still 182.5MB. Free memory was 160.0MB in the beginning and 158.5MB in the end (delta: 1.4MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-14 21:38:33,041 INFO L158 Benchmark]: RCFGBuilder took 348.73ms. Allocated memory is still 182.5MB. Free memory was 158.2MB in the beginning and 146.0MB in the end (delta: 12.2MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-14 21:38:33,041 INFO L158 Benchmark]: IcfgTransformer took 57.05ms. Allocated memory is still 182.5MB. Free memory was 146.0MB in the beginning and 143.9MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-14 21:38:33,041 INFO L158 Benchmark]: TraceAbstraction took 34124.77ms. Allocated memory was 182.5MB in the beginning and 242.2MB in the end (delta: 59.8MB). Free memory was 143.5MB in the beginning and 193.5MB in the end (delta: -50.0MB). Peak memory consumption was 10.5MB. Max. memory is 8.0GB. [2022-04-14 21:38:33,042 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.14ms. Allocated memory is still 182.5MB. Free memory is still 151.3MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 301.73ms. Allocated memory is still 182.5MB. Free memory was 134.2MB in the beginning and 160.0MB in the end (delta: -25.8MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * Boogie Preprocessor took 41.01ms. Allocated memory is still 182.5MB. Free memory was 160.0MB in the beginning and 158.5MB in the end (delta: 1.4MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 348.73ms. Allocated memory is still 182.5MB. Free memory was 158.2MB in the beginning and 146.0MB in the end (delta: 12.2MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * IcfgTransformer took 57.05ms. Allocated memory is still 182.5MB. Free memory was 146.0MB in the beginning and 143.9MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * TraceAbstraction took 34124.77ms. Allocated memory was 182.5MB in the beginning and 242.2MB in the end (delta: 59.8MB). Free memory was 143.5MB in the beginning and 193.5MB in the end (delta: -50.0MB). Peak memory consumption was 10.5MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - 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)=6, 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=2147483647, counter=0, R=1] [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=2147483647, counter=0, R=1] [L29] u = ((long long) 2 * R) + 1 [L30] v = 1 [L31] r = ((long long) R * R) - A VAL [\old(counter)=0, A=2147483647, counter=0, r=-2147483646, R=1, u=3, v=1] [L34] EXPR counter++ VAL [\old(counter)=0, A=2147483647, counter=1, counter++=0, r=-2147483646, R=1, u=3, v=1] [L34] COND TRUE counter++<2 [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=2147483647, counter=1, r=-2147483646, R=1, u=3, v=1] [L36] COND FALSE !(!(r != 0)) VAL [\old(counter)=0, A=2147483647, counter=1, R=1, r=-2147483646, u=3, v=1] [L39] EXPR counter++ VAL [\old(counter)=0, A=2147483647, counter=2, counter++=1, R=1, r=-2147483646, u=3, v=1] [L39] COND TRUE counter++<2 [L40] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=2] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=2] [L40] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=2147483647, counter=2, r=-2147483646, R=1, u=3, v=1] [L41] COND TRUE !(r > 0) VAL [\old(counter)=0, A=2147483647, counter=2, R=1, r=-2147483646, u=3, v=1] [L47] EXPR counter++ VAL [\old(counter)=0, A=2147483647, counter=3, counter++=2, R=1, r=-2147483646, u=3, v=1] [L47] COND FALSE !(counter++<2) [L34] EXPR counter++ VAL [\old(counter)=0, A=2147483647, counter=4, counter++=3, r=-2147483646, R=1, u=3, v=1] [L34] COND FALSE !(counter++<2) [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: 34.0s, OverallIterations: 6, TraceHistogramMax: 3, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 23.5s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 2 mSolverCounterUnknown, 52 SdHoareTripleChecker+Valid, 9.9s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 47 mSDsluCounter, 536 SdHoareTripleChecker+Invalid, 9.9s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 349 mSDsCounter, 22 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 169 IncrementalHoareTripleChecker+Invalid, 193 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 22 mSolverCounterUnsat, 187 mSDtfsCounter, 169 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 160 GetRequests, 139 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=60occurred in iteration=5, InterpolantAutomatonStates: 24, 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, 5 MinimizatonAttempts, 1 StatesRemovedByMinimization, 1 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 5.5s InterpolantComputationTime, 173 NumberOfCodeBlocks, 173 NumberOfCodeBlocksAsserted, 6 NumberOfCheckSat, 155 ConstructedInterpolants, 0 QuantifiedInterpolants, 441 SizeOfPredicates, 12 NumberOfNonLiveVariables, 497 ConjunctsInSsa, 36 ConjunctsInUnsatCore, 6 InterpolantComputations, 4 PerfectInterpolantSequences, 30/32 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:38:33,059 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...