/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerCTransformed.xml -s ../../../trunk/examples/settings/automizer/LoopAccelerationJordanC.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 18:38:40,361 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 18:38:40,369 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 18:38:40,409 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 18:38:40,409 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 18:38:40,410 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 18:38:40,412 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 18:38:40,414 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 18:38:40,415 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 18:38:40,418 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 18:38:40,419 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 18:38:40,420 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 18:38:40,420 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 18:38:40,421 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 18:38:40,422 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 18:38:40,424 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 18:38:40,424 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 18:38:40,425 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 18:38:40,426 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 18:38:40,430 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 18:38:40,431 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 18:38:40,432 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 18:38:40,433 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 18:38:40,433 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 18:38:40,434 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 18:38:40,439 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 18:38:40,439 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 18:38:40,440 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 18:38:40,440 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 18:38:40,440 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 18:38:40,441 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 18:38:40,441 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 18:38:40,442 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 18:38:40,443 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 18:38:40,443 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 18:38:40,444 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 18:38:40,444 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 18:38:40,444 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 18:38:40,444 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 18:38:40,444 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 18:38:40,445 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 18:38:40,446 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 18:38:40,446 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/LoopAccelerationJordanC.epf [2022-04-27 18:38:40,455 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 18:38:40,455 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 18:38:40,456 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 18:38:40,456 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 18:38:40,456 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 18:38:40,456 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 18:38:40,456 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 18:38:40,456 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 18:38:40,456 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 18:38:40,457 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 18:38:40,457 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 18:38:40,457 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 18:38:40,457 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 18:38:40,457 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 18:38:40,457 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 18:38:40,458 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 18:38:40,458 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-27 18:38:40,458 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 18:38:40,458 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 18:38:40,458 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 18:38:40,458 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 18:38:40,458 INFO L136 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2022-04-27 18:38:40,458 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-27 18:38:40,604 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 18:38:40,620 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 18:38:40,622 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 18:38:40,622 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 18:38:40,623 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 18:38:40,623 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound1.c [2022-04-27 18:38:40,686 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1b18b9626/d3e2e556d4ae43aab678b4320d9e51e3/FLAGd57717167 [2022-04-27 18:38:40,972 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 18:38:40,972 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound1.c [2022-04-27 18:38:40,979 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1b18b9626/d3e2e556d4ae43aab678b4320d9e51e3/FLAGd57717167 [2022-04-27 18:38:41,420 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1b18b9626/d3e2e556d4ae43aab678b4320d9e51e3 [2022-04-27 18:38:41,422 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 18:38:41,422 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2022-04-27 18:38:41,423 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 18:38:41,424 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 18:38:41,426 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 18:38:41,426 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 06:38:41" (1/1) ... [2022-04-27 18:38:41,427 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@41526cfb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 06:38:41, skipping insertion in model container [2022-04-27 18:38:41,427 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 06:38:41" (1/1) ... [2022-04-27 18:38:41,431 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 18:38:41,441 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 18:38:41,561 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound1.c[535,548] [2022-04-27 18:38:41,597 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 18:38:41,602 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 18:38:41,623 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound1.c[535,548] [2022-04-27 18:38:41,629 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 18:38:41,637 INFO L208 MainTranslator]: Completed translation [2022-04-27 18:38:41,637 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 06:38:41 WrapperNode [2022-04-27 18:38:41,637 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 18:38:41,638 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 18:38:41,638 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 18:38:41,638 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 18:38:41,655 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 06:38:41" (1/1) ... [2022-04-27 18:38:41,655 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 06:38:41" (1/1) ... [2022-04-27 18:38:41,659 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 06:38:41" (1/1) ... [2022-04-27 18:38:41,659 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 06:38:41" (1/1) ... [2022-04-27 18:38:41,663 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 06:38:41" (1/1) ... [2022-04-27 18:38:41,666 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 06:38:41" (1/1) ... [2022-04-27 18:38:41,667 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 06:38:41" (1/1) ... [2022-04-27 18:38:41,668 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 18:38:41,669 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 18:38:41,669 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 18:38:41,669 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 18:38:41,670 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 06:38:41" (1/1) ... [2022-04-27 18:38:41,678 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 18:38:41,684 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 18:38:41,692 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-27 18:38:41,703 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-27 18:38:41,716 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 18:38:41,716 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 18:38:41,716 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 18:38:41,716 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 18:38:41,716 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 18:38:41,716 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 18:38:41,716 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 18:38:41,716 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 18:38:41,717 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 18:38:41,717 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 18:38:41,717 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 18:38:41,717 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 18:38:41,717 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 18:38:41,717 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 18:38:41,717 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 18:38:41,717 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 18:38:41,717 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 18:38:41,717 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 18:38:41,717 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 18:38:41,717 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 18:38:41,755 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 18:38:41,756 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 18:38:41,876 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 18:38:41,880 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 18:38:41,881 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-27 18:38:41,882 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 06:38:41 BoogieIcfgContainer [2022-04-27 18:38:41,882 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 18:38:41,882 INFO L113 PluginConnector]: ------------------------IcfgTransformer---------------------------- [2022-04-27 18:38:41,882 INFO L271 PluginConnector]: Initializing IcfgTransformer... [2022-04-27 18:38:41,883 INFO L275 PluginConnector]: IcfgTransformer initialized [2022-04-27 18:38:41,885 INFO L185 PluginConnector]: Executing the observer IcfgTransformationObserver from plugin IcfgTransformer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 06:38:41" (1/1) ... [2022-04-27 18:38:41,886 INFO L168 ansformationObserver]: Applying ICFG transformation LOOP_ACCELERATION_JORDAN [2022-04-27 18:38:41,907 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 27.04 06:38:41 BasicIcfg [2022-04-27 18:38:41,908 INFO L132 PluginConnector]: ------------------------ END IcfgTransformer---------------------------- [2022-04-27 18:38:41,909 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 18:38:41,909 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 18:38:41,911 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 18:38:41,911 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 06:38:41" (1/4) ... [2022-04-27 18:38:41,911 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@16aa7072 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 06:38:41, skipping insertion in model container [2022-04-27 18:38:41,911 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 06:38:41" (2/4) ... [2022-04-27 18:38:41,911 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@16aa7072 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 06:38:41, skipping insertion in model container [2022-04-27 18:38:41,911 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 06:38:41" (3/4) ... [2022-04-27 18:38:41,912 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@16aa7072 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 06:38:41, skipping insertion in model container [2022-04-27 18:38:41,912 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 27.04 06:38:41" (4/4) ... [2022-04-27 18:38:41,912 INFO L111 eAbstractionObserver]: Analyzing ICFG fermat1-ll_unwindbound1.cJordan [2022-04-27 18:38:41,920 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:ForwardPredicates Determinization: PREDICATE_ABSTRACTION [2022-04-27 18:38:41,920 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 18:38:41,944 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 18:38:41,948 INFO L357 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, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@49dd9f83, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@40a752d2 [2022-04-27 18:38:41,948 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 18:38:41,954 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-27 18:38:41,960 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-27 18:38:41,960 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 18:38:41,960 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 18:38:41,960 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 18:38:41,963 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 18:38:41,963 INFO L85 PathProgramCache]: Analyzing trace with hash -758992103, now seen corresponding path program 1 times [2022-04-27 18:38:41,970 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 18:38:41,971 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [34445049] [2022-04-27 18:38:41,971 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:38:41,971 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 18:38:42,032 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 18:38:42,032 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [845925804] [2022-04-27 18:38:42,032 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:38:42,033 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 18:38:42,033 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 18:38:42,034 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 18:38:42,087 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-27 18:38:42,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:38:42,126 INFO L263 TraceCheckSpWp]: Trace formula consists of 89 conjuncts, 1 conjunts are in the unsatisfiable core [2022-04-27 18:38:42,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:38:42,144 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 18:38:42,239 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-27 18:38:42,241 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-27 18:38:42,241 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-27 18:38:42,241 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-27 18:38:42,242 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {40#true} is VALID [2022-04-27 18:38:42,243 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-27 18:38:42,244 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-27 18:38:42,244 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-27 18:38:42,244 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} [115] L9-->L9-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-27 18:38:42,245 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-27 18:38:42,245 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-27 18:38:42,247 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-27 18:38:42,247 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-27 18:38:42,247 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#false} [115] L9-->L9-2: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] {41#false} is VALID [2022-04-27 18:38:42,247 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-27 18:38:42,248 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-27 18:38:42,248 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-27 18:38:42,248 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-27 18:38:42,248 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-27 18:38:42,248 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-27 18:38:42,249 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-27 18:38:42,249 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-27 18:38:42,250 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-27 18:38:42,250 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 18:38:42,250 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 18:38:42,250 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [34445049] [2022-04-27 18:38:42,250 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 18:38:42,250 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [845925804] [2022-04-27 18:38:42,251 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [845925804] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 18:38:42,251 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 18:38:42,251 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-04-27 18:38:42,259 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1244850252] [2022-04-27 18:38:42,260 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 18:38:42,264 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-27 18:38:42,265 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 18:38:42,267 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-27 18:38:42,291 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-27 18:38:42,291 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-04-27 18:38:42,291 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 18:38:42,322 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-04-27 18:38:42,322 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-04-27 18:38:42,324 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-27 18:38:42,374 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:38:42,374 INFO L93 Difference]: Finished difference Result 37 states and 46 transitions. [2022-04-27 18:38:42,374 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-04-27 18:38:42,375 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-27 18:38:42,375 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 18:38:42,378 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-27 18:38:42,384 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 51 transitions. [2022-04-27 18:38:42,384 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-27 18:38:42,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 51 transitions. [2022-04-27 18:38:42,389 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 2 states and 51 transitions. [2022-04-27 18:38:42,434 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 18:38:42,448 INFO L225 Difference]: With dead ends: 37 [2022-04-27 18:38:42,448 INFO L226 Difference]: Without dead ends: 32 [2022-04-27 18:38:42,449 INFO L412 NwaCegarLoop]: 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-27 18:38:42,453 INFO L413 NwaCegarLoop]: 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-27 18:38:42,455 INFO L414 NwaCegarLoop]: 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-27 18:38:42,467 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-27 18:38:42,475 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-27 18:38:42,475 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 18:38:42,476 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-27 18:38:42,476 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-27 18:38:42,478 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-27 18:38:42,485 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:38:42,486 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-27 18:38:42,486 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-27 18:38:42,486 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:38:42,486 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:38:42,487 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-27 18:38:42,487 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-27 18:38:42,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:38:42,490 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-27 18:38:42,490 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-27 18:38:42,490 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:38:42,490 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:38:42,491 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 18:38:42,491 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 18:38:42,491 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-27 18:38:42,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-27 18:38:42,494 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 22 [2022-04-27 18:38:42,494 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 18:38:42,494 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-27 18:38:42,495 INFO L496 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-27 18:38:42,495 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-27 18:38:42,495 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-27 18:38:42,495 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 18:38:42,496 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 18:38:42,512 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-27 18:38:42,712 WARN L477 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-27 18:38:42,712 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 18:38:42,713 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 18:38:42,713 INFO L85 PathProgramCache]: Analyzing trace with hash -713449777, now seen corresponding path program 1 times [2022-04-27 18:38:42,713 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 18:38:42,713 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1861829798] [2022-04-27 18:38:42,713 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:38:42,713 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 18:38:42,742 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 18:38:42,742 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1751845206] [2022-04-27 18:38:42,742 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:38:42,742 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 18:38:42,743 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 18:38:42,745 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 18:38:42,747 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-27 18:38:42,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:38:42,797 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-27 18:38:42,805 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:38:42,806 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 18:38:42,936 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-27 18:38:42,936 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-27 18:38:42,937 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-27 18:38:42,937 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-27 18:38:42,938 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-27 18:38:42,938 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-27 18:38:42,939 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-27 18:38:42,939 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-27 18:38:42,940 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-27 18:38:42,940 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-27 18:38:42,941 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-27 18:38:42,941 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-27 18:38:42,942 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-27 18:38:42,942 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-27 18:38:42,942 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-27 18:38:42,943 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-27 18:38:42,943 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-27 18:38:42,944 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-27 18:38:42,944 INFO L290 TraceCheckUtils]: 18: Hoare triple {297#(<= |main_#t~post6| 0)} [121] L34-1-->L34-3: Formula: (not (< |v_main_#t~post6_3| 1)) InVars {main_#t~post6=|v_main_#t~post6_3|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {241#false} is VALID [2022-04-27 18:38:42,945 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-27 18:38:42,945 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-27 18:38:42,945 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-27 18:38:42,945 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-27 18:38:42,945 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 18:38:42,945 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 18:38:42,946 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 18:38:42,946 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1861829798] [2022-04-27 18:38:42,946 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 18:38:42,946 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1751845206] [2022-04-27 18:38:42,946 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1751845206] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 18:38:42,946 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 18:38:42,946 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-27 18:38:42,946 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [866105946] [2022-04-27 18:38:42,947 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 18:38:42,947 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-27 18:38:42,947 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 18:38:42,948 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-27 18:38:42,967 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 18:38:42,967 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-27 18:38:42,967 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 18:38:42,968 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-27 18:38:42,968 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-27 18:38:42,968 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-27 18:38:43,042 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:38:43,043 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-27 18:38:43,043 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-27 18:38:43,043 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-27 18:38:43,043 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 18:38:43,044 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-27 18:38:43,048 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 44 transitions. [2022-04-27 18:38:43,049 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-27 18:38:43,055 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 44 transitions. [2022-04-27 18:38:43,055 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 44 transitions. [2022-04-27 18:38:43,087 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 18:38:43,089 INFO L225 Difference]: With dead ends: 34 [2022-04-27 18:38:43,089 INFO L226 Difference]: Without dead ends: 34 [2022-04-27 18:38:43,089 INFO L412 NwaCegarLoop]: 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-27 18:38:43,091 INFO L413 NwaCegarLoop]: 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-27 18:38:43,092 INFO L414 NwaCegarLoop]: 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-27 18:38:43,094 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2022-04-27 18:38:43,098 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 34. [2022-04-27 18:38:43,098 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 18:38:43,098 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-27 18:38:43,099 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-27 18:38:43,099 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-27 18:38:43,101 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:38:43,101 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-27 18:38:43,101 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-27 18:38:43,101 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:38:43,101 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:38:43,102 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-27 18:38:43,102 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-27 18:38:43,104 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:38:43,104 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-27 18:38:43,104 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-27 18:38:43,104 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:38:43,104 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:38:43,104 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 18:38:43,105 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 18:38:43,105 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-27 18:38:43,106 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 43 transitions. [2022-04-27 18:38:43,106 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 43 transitions. Word has length 23 [2022-04-27 18:38:43,106 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 18:38:43,106 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 43 transitions. [2022-04-27 18:38:43,107 INFO L496 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-27 18:38:43,107 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-27 18:38:43,107 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-27 18:38:43,107 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 18:38:43,107 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 18:38:43,126 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-27 18:38:43,323 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable1 [2022-04-27 18:38:43,323 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 18:38:43,324 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 18:38:43,324 INFO L85 PathProgramCache]: Analyzing trace with hash -712377301, now seen corresponding path program 1 times [2022-04-27 18:38:43,324 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 18:38:43,324 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [735724423] [2022-04-27 18:38:43,324 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:38:43,325 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 18:38:43,336 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 18:38:43,336 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1388865482] [2022-04-27 18:38:43,336 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:38:43,336 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 18:38:43,336 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 18:38:43,337 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 18:38:43,355 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-27 18:38:43,393 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:38:43,394 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 18:38:43,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:38:43,595 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 18:38:45,372 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-27 18:38:45,372 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-27 18:38:45,372 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-27 18:38:45,372 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-27 18:38:45,373 INFO L272 TraceCheckUtils]: 4: Hoare triple {448#true} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {448#true} is VALID [2022-04-27 18:38:45,373 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-27 18:38:45,373 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-27 18:38:45,373 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-27 18:38:45,373 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-27 18:38:45,373 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-27 18:38:45,373 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-27 18:38:45,374 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-27 18:38:45,374 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-27 18:38:45,374 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-27 18:38:45,374 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-27 18:38:45,374 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-27 18:38:46,579 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-27 18:38:46,580 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-27 18:38:46,581 INFO L290 TraceCheckUtils]: 18: Hoare triple {501#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 1) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {501#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} is VALID [2022-04-27 18:38:46,739 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-27 18:38:46,740 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-27 18:38:46,740 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-27 18:38:46,741 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-27 18:38:46,741 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 18:38:46,741 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 18:38:46,741 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 18:38:46,741 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [735724423] [2022-04-27 18:38:46,741 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 18:38:46,741 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1388865482] [2022-04-27 18:38:46,741 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1388865482] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 18:38:46,742 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 18:38:46,742 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 18:38:46,742 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [849099821] [2022-04-27 18:38:46,742 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 18:38:46,742 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-27 18:38:46,742 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 18:38:46,743 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-27 18:38:50,454 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-27 18:38:50,455 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 18:38:50,455 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 18:38:50,455 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 18:38:50,455 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 18:38:50,455 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-27 18:38:52,494 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-27 18:39:00,508 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.34s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 18:39:03,502 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-27 18:39:03,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:39:03,545 INFO L93 Difference]: Finished difference Result 51 states and 68 transitions. [2022-04-27 18:39:03,545 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 18:39:03,546 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-27 18:39:03,546 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 18:39:03,546 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-27 18:39:03,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-27 18:39:03,548 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-27 18:39:03,549 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-27 18:39:03,549 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 67 transitions. [2022-04-27 18:39:08,704 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-27 18:39:08,705 INFO L225 Difference]: With dead ends: 51 [2022-04-27 18:39:08,705 INFO L226 Difference]: Without dead ends: 51 [2022-04-27 18:39:08,706 INFO L412 NwaCegarLoop]: 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-27 18:39:08,706 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 16 mSDsluCounter, 83 mSDsCounter, 0 mSdLazyCounter, 56 mSolverCounterSat, 2 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 8.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 56 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 8.2s IncrementalHoareTripleChecker+Time [2022-04-27 18:39:08,707 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 116 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 56 Invalid, 2 Unknown, 0 Unchecked, 8.2s Time] [2022-04-27 18:39:08,707 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-27 18:39:08,710 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-27 18:39:08,710 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 18:39:08,710 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-27 18:39:08,711 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-27 18:39:08,711 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-27 18:39:08,713 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:39:08,713 INFO L93 Difference]: Finished difference Result 51 states and 68 transitions. [2022-04-27 18:39:08,713 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 68 transitions. [2022-04-27 18:39:08,714 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:39:08,714 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:39:08,714 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-27 18:39:08,714 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-27 18:39:08,716 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:39:08,716 INFO L93 Difference]: Finished difference Result 51 states and 68 transitions. [2022-04-27 18:39:08,716 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 68 transitions. [2022-04-27 18:39:08,717 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:39:08,717 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:39:08,717 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 18:39:08,717 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 18:39:08,717 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-27 18:39:08,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 67 transitions. [2022-04-27 18:39:08,719 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 67 transitions. Word has length 23 [2022-04-27 18:39:08,719 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 18:39:08,719 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 67 transitions. [2022-04-27 18:39:08,719 INFO L496 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-27 18:39:08,719 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 67 transitions. [2022-04-27 18:39:08,720 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-27 18:39:08,720 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 18:39:08,720 INFO L195 NwaCegarLoop]: 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-27 18:39:08,744 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-27 18:39:08,935 WARN L477 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-27 18:39:08,938 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 18:39:08,938 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 18:39:08,938 INFO L85 PathProgramCache]: Analyzing trace with hash 740915101, now seen corresponding path program 1 times [2022-04-27 18:39:08,938 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 18:39:08,938 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [338612261] [2022-04-27 18:39:08,938 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:39:08,939 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 18:39:08,968 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 18:39:08,968 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2111785870] [2022-04-27 18:39:08,968 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:39:08,969 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 18:39:08,969 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 18:39:08,995 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 18:39:08,996 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-27 18:39:09,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:39:09,048 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-27 18:39:09,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 18:39:09,055 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 18:39:09,181 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-27 18:39:09,181 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-27 18:39:09,182 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-27 18:39:09,182 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-27 18:39:09,182 INFO L272 TraceCheckUtils]: 4: Hoare triple {726#true} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-27 18:39:09,182 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-27 18:39:09,182 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-27 18:39:09,182 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-27 18:39:09,182 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-27 18:39:09,183 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-27 18:39:09,183 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-27 18:39:09,183 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-27 18:39:09,183 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-27 18:39:09,183 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-27 18:39:09,183 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-27 18:39:09,183 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-27 18:39:09,184 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-27 18:39:09,184 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-27 18:39:09,184 INFO L290 TraceCheckUtils]: 18: Hoare triple {726#true} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 1) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {726#true} is VALID [2022-04-27 18:39:09,184 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-27 18:39:09,184 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-27 18:39:09,185 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-27 18:39:09,185 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-27 18:39:09,186 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-27 18:39:09,186 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-27 18:39:09,187 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-27 18:39:09,187 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-27 18:39:09,188 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-27 18:39:09,188 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-27 18:39:09,188 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-27 18:39:09,188 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 18:39:09,494 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-27 18:39:09,494 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-27 18:39:09,495 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-27 18:39:09,496 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-27 18:39:09,496 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-27 18:39:09,497 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-27 18:39:09,497 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-27 18:39:09,498 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-27 18:39:09,498 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-27 18:39:09,498 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-27 18:39:09,498 INFO L290 TraceCheckUtils]: 18: Hoare triple {726#true} [122] L34-1-->L35: Formula: (< |v_main_#t~post6_5| 1) InVars {main_#t~post6=|v_main_#t~post6_5|} OutVars{} AuxVars[] AssignedVars[main_#t~post6] {726#true} is VALID [2022-04-27 18:39:09,498 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-27 18:39:09,499 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-27 18:39:09,499 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-27 18:39:09,499 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-27 18:39:09,499 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-27 18:39:09,499 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-27 18:39:09,499 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-27 18:39:09,499 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-27 18:39:09,500 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-27 18:39:09,500 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-27 18:39:09,500 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-27 18:39:09,500 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-27 18:39:09,500 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-27 18:39:09,500 INFO L272 TraceCheckUtils]: 4: Hoare triple {726#true} [106] L-1-->mainENTRY: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {726#true} is VALID [2022-04-27 18:39:09,500 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-27 18:39:09,500 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-27 18:39:09,501 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-27 18:39:09,501 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-27 18:39:09,501 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-27 18:39:09,501 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 18:39:09,501 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [338612261] [2022-04-27 18:39:09,501 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 18:39:09,501 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2111785870] [2022-04-27 18:39:09,501 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2111785870] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 18:39:09,501 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 18:39:09,501 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-27 18:39:09,502 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [553434253] [2022-04-27 18:39:09,502 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 18:39:09,502 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-27 18:39:09,502 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 18:39:09,502 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-27 18:39:09,520 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-27 18:39:09,520 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 18:39:09,520 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 18:39:09,521 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 18:39:09,521 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-04-27 18:39:09,521 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-27 18:39:09,856 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:39:09,856 INFO L93 Difference]: Finished difference Result 55 states and 71 transitions. [2022-04-27 18:39:09,857 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 18:39:09,857 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-27 18:39:09,857 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 18:39:09,857 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-27 18:39:09,859 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 46 transitions. [2022-04-27 18:39:09,859 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-27 18:39:09,860 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 46 transitions. [2022-04-27 18:39:09,860 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 46 transitions. [2022-04-27 18:39:09,898 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-27 18:39:09,899 INFO L225 Difference]: With dead ends: 55 [2022-04-27 18:39:09,899 INFO L226 Difference]: Without dead ends: 52 [2022-04-27 18:39:09,900 INFO L412 NwaCegarLoop]: 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-27 18:39:09,900 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 25 mSDsluCounter, 118 mSDsCounter, 0 mSdLazyCounter, 93 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 147 SdHoareTripleChecker+Invalid, 107 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 93 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 18:39:09,901 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [27 Valid, 147 Invalid, 107 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 93 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 18:39:09,901 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-27 18:39:09,903 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 36. [2022-04-27 18:39:09,903 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 18:39:09,903 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 36 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 18:39:09,903 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 36 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 18:39:09,904 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 36 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 18:39:09,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:39:09,905 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-27 18:39:09,905 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-27 18:39:09,906 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:39:09,906 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:39:09,906 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 52 states. [2022-04-27 18:39:09,906 INFO L87 Difference]: Start difference. First operand has 36 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 52 states. [2022-04-27 18:39:09,908 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 18:39:09,908 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-27 18:39:09,908 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-27 18:39:09,909 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 18:39:09,909 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 18:39:09,909 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 18:39:09,909 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 18:39:09,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 18:39:09,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 43 transitions. [2022-04-27 18:39:09,910 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 43 transitions. Word has length 29 [2022-04-27 18:39:09,910 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 18:39:09,910 INFO L495 AbstractCegarLoop]: Abstraction has 36 states and 43 transitions. [2022-04-27 18:39:09,910 INFO L496 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-27 18:39:09,911 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 43 transitions. [2022-04-27 18:39:09,911 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-27 18:39:09,911 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 18:39:09,911 INFO L195 NwaCegarLoop]: 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-27 18:39:09,927 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-27 18:39:10,127 WARN L477 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-27 18:39:10,128 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 18:39:10,128 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 18:39:10,128 INFO L85 PathProgramCache]: Analyzing trace with hash -1345250901, now seen corresponding path program 1 times [2022-04-27 18:39:10,128 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 18:39:10,128 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1588911033] [2022-04-27 18:39:10,128 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:39:10,128 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 18:39:10,139 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 18:39:10,139 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [443251937] [2022-04-27 18:39:10,139 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 18:39:10,140 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 18:39:10,140 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 18:39:10,140 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 18:39:10,141 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-27 18:39:10,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-27 18:39:10,187 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-04-27 18:39:10,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-27 18:39:10,210 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-04-27 18:39:10,210 INFO L271 BasicCegarLoop]: Counterexample is feasible [2022-04-27 18:39:10,210 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-27 18:39:10,231 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-27 18:39:10,429 WARN L477 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-27 18:39:10,432 INFO L356 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1, 1] [2022-04-27 18:39:10,437 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-27 18:39:10,454 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 06:39:10 BasicIcfg [2022-04-27 18:39:10,454 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-27 18:39:10,455 INFO L158 Benchmark]: Toolchain (without parser) took 29032.17ms. Allocated memory was 200.3MB in the beginning and 241.2MB in the end (delta: 40.9MB). Free memory was 148.6MB in the beginning and 207.9MB in the end (delta: -59.3MB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 18:39:10,455 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 200.3MB. Free memory is still 164.4MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 18:39:10,455 INFO L158 Benchmark]: CACSL2BoogieTranslator took 213.90ms. Allocated memory is still 200.3MB. Free memory was 148.4MB in the beginning and 173.4MB in the end (delta: -25.0MB). Peak memory consumption was 7.8MB. Max. memory is 8.0GB. [2022-04-27 18:39:10,455 INFO L158 Benchmark]: Boogie Preprocessor took 30.41ms. Allocated memory is still 200.3MB. Free memory was 173.4MB in the beginning and 172.1MB in the end (delta: 1.2MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-27 18:39:10,455 INFO L158 Benchmark]: RCFGBuilder took 212.78ms. Allocated memory is still 200.3MB. Free memory was 172.1MB in the beginning and 159.1MB in the end (delta: 13.0MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. [2022-04-27 18:39:10,456 INFO L158 Benchmark]: IcfgTransformer took 25.40ms. Allocated memory is still 200.3MB. Free memory was 159.1MB in the beginning and 157.5MB in the end (delta: 1.7MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-27 18:39:10,456 INFO L158 Benchmark]: TraceAbstraction took 28545.39ms. Allocated memory was 200.3MB in the beginning and 241.2MB in the end (delta: 40.9MB). Free memory was 156.6MB in the beginning and 207.9MB in the end (delta: -51.3MB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 18:39:10,457 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.09ms. Allocated memory is still 200.3MB. Free memory is still 164.4MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 213.90ms. Allocated memory is still 200.3MB. Free memory was 148.4MB in the beginning and 173.4MB in the end (delta: -25.0MB). Peak memory consumption was 7.8MB. Max. memory is 8.0GB. * Boogie Preprocessor took 30.41ms. Allocated memory is still 200.3MB. Free memory was 173.4MB in the beginning and 172.1MB in the end (delta: 1.2MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 212.78ms. Allocated memory is still 200.3MB. Free memory was 172.1MB in the beginning and 159.1MB in the end (delta: 13.0MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. * IcfgTransformer took 25.40ms. Allocated memory is still 200.3MB. Free memory was 159.1MB in the beginning and 157.5MB in the end (delta: 1.7MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * TraceAbstraction took 28545.39ms. Allocated memory was 200.3MB in the beginning and 241.2MB in the end (delta: 40.9MB). Free memory was 156.6MB in the beginning and 207.9MB in the end (delta: -51.3MB). There was no memory consumed. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - CounterExampleResult [Line: 14]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L19] int counter = 0; VAL [\old(counter)=7, counter=0] [L21] int A, R; [L22] long long u, v, r; [L23] A = __VERIFIER_nondet_int() [L24] R = __VERIFIER_nondet_int() [L25] CALL assume_abort_if_not((((long long) R - 1) * ((long long) R - 1)) < A) VAL [\old(cond)=1, \old(counter)=0, counter=0] [L9] COND FALSE !(!cond) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=0] [L25] RET assume_abort_if_not((((long long) R - 1) * ((long long) R - 1)) < A) VAL [\old(counter)=0, A=3, counter=0, R=2] [L27] CALL assume_abort_if_not(A % 2 == 1) VAL [\old(cond)=1, \old(counter)=0, counter=0] [L9] COND FALSE !(!cond) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=0] [L27] RET assume_abort_if_not(A % 2 == 1) VAL [\old(counter)=0, A=3, counter=0, R=2] [L29] u = ((long long) 2 * R) + 1 [L30] v = 1 [L31] r = ((long long) R * R) - A VAL [\old(counter)=0, A=3, counter=0, R=2, r=1, u=5, v=1] [L34] EXPR counter++ VAL [\old(counter)=0, A=3, counter=1, counter++=0, R=2, r=1, u=5, v=1] [L34] COND TRUE counter++<1 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=1] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=1] [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=3, counter=1, r=1, R=2, u=5, v=1] [L36] COND FALSE !(!(r != 0)) VAL [\old(counter)=0, A=3, counter=1, R=2, r=1, u=5, v=1] [L39] EXPR counter++ VAL [\old(counter)=0, A=3, counter=2, counter++=1, R=2, r=1, u=5, v=1] [L39] COND FALSE !(counter++<1) [L47] EXPR counter++ VAL [\old(counter)=0, A=3, counter=3, counter++=2, r=1, R=2, u=5, v=1] [L47] COND FALSE !(counter++<1) [L34] EXPR counter++ VAL [\old(counter)=0, A=3, counter=4, counter++=3, r=1, R=2, u=5, v=1] [L34] COND FALSE !(counter++<1) [L56] CALL __VERIFIER_assert(((long long) 4*A) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=0, \old(counter)=0, counter=4] [L12] COND TRUE !(cond) VAL [\old(cond)=0, \old(counter)=0, cond=0, counter=4] [L14] reach_error() VAL [\old(cond)=0, \old(counter)=0, cond=0, counter=4] - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 37 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 28.5s, OverallIterations: 5, TraceHistogramMax: 2, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 18.9s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 2 mSolverCounterUnknown, 46 SdHoareTripleChecker+Valid, 8.3s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 41 mSDsluCounter, 410 SdHoareTripleChecker+Invalid, 8.3s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 263 mSDsCounter, 16 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 158 IncrementalHoareTripleChecker+Invalid, 176 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 16 mSolverCounterUnsat, 147 mSDtfsCounter, 158 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 126 GetRequests, 108 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=50occurred in iteration=3, InterpolantAutomatonStates: 19, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.1s AutomataMinimizationTime, 4 MinimizatonAttempts, 17 StatesRemovedByMinimization, 2 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.1s SatisfiabilityAnalysisTime, 4.1s InterpolantComputationTime, 132 NumberOfCodeBlocks, 132 NumberOfCodeBlocksAsserted, 5 NumberOfCheckSat, 121 ConstructedInterpolants, 0 QuantifiedInterpolants, 357 SizeOfPredicates, 10 NumberOfNonLiveVariables, 379 ConjunctsInSsa, 29 ConjunctsInUnsatCore, 5 InterpolantComputations, 3 PerfectInterpolantSequences, 22/24 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! [2022-04-27 18:39:10,469 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...