/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound10.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-14 16:12:58,380 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-14 16:12:58,381 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-14 16:12:58,419 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-14 16:12:58,419 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-14 16:12:58,420 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-14 16:12:58,422 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-14 16:12:58,423 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-14 16:12:58,425 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-14 16:12:58,428 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-14 16:12:58,429 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-14 16:12:58,430 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-14 16:12:58,430 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-14 16:12:58,431 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-14 16:12:58,432 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-14 16:12:58,434 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-14 16:12:58,434 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-14 16:12:58,435 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-14 16:12:58,436 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-14 16:12:58,440 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-14 16:12:58,441 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-14 16:12:58,442 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-14 16:12:58,443 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-14 16:12:58,443 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-14 16:12:58,444 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-14 16:12:58,448 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-14 16:12:58,448 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-14 16:12:58,449 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-14 16:12:58,449 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-14 16:12:58,449 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-14 16:12:58,450 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-14 16:12:58,450 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-14 16:12:58,452 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-14 16:12:58,452 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-14 16:12:58,452 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-14 16:12:58,453 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-14 16:12:58,453 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-14 16:12:58,453 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-14 16:12:58,453 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-14 16:12:58,453 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-14 16:12:58,454 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-14 16:12:58,455 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-14 16:12:58,455 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-14 16:12:58,477 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-14 16:12:58,478 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-14 16:12:58,478 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-14 16:12:58,478 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-14 16:12:58,478 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-14 16:12:58,479 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-14 16:12:58,479 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-14 16:12:58,479 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-14 16:12:58,479 INFO L138 SettingsManager]: * Use SBE=true [2022-04-14 16:12:58,480 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-14 16:12:58,480 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-14 16:12:58,480 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-14 16:12:58,480 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-14 16:12:58,480 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-14 16:12:58,480 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-14 16:12:58,480 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-14 16:12:58,480 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-14 16:12:58,481 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-14 16:12:58,481 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-14 16:12:58,481 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-14 16:12:58,481 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-14 16:12:58,481 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-14 16:12:58,482 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-14 16:12:58,482 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-14 16:12:58,482 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 16:12:58,482 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-14 16:12:58,482 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-14 16:12:58,482 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-14 16:12:58,482 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-14 16:12:58,482 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-14 16:12:58,482 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-04-14 16:12:58,482 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-14 16:12:58,482 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-14 16:12:58,483 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-14 16:12:58,659 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-14 16:12:58,685 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-14 16:12:58,686 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-14 16:12:58,687 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-14 16:12:58,687 INFO L275 PluginConnector]: CDTParser initialized [2022-04-14 16:12:58,688 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound10.c [2022-04-14 16:12:58,732 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4c6ee9a22/c0c1c2044e054b03b1b235d03f090f95/FLAG7a36841f1 [2022-04-14 16:12:59,108 INFO L306 CDTParser]: Found 1 translation units. [2022-04-14 16:12:59,108 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound10.c [2022-04-14 16:12:59,123 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4c6ee9a22/c0c1c2044e054b03b1b235d03f090f95/FLAG7a36841f1 [2022-04-14 16:12:59,134 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4c6ee9a22/c0c1c2044e054b03b1b235d03f090f95 [2022-04-14 16:12:59,136 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-14 16:12:59,137 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-14 16:12:59,139 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-14 16:12:59,139 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-14 16:12:59,141 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-14 16:12:59,142 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 04:12:59" (1/1) ... [2022-04-14 16:12:59,143 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@cf2ab07 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 04:12:59, skipping insertion in model container [2022-04-14 16:12:59,143 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 04:12:59" (1/1) ... [2022-04-14 16:12:59,148 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-14 16:12:59,159 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-14 16:12:59,306 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_unwindbound10.c[535,548] [2022-04-14 16:12:59,335 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 16:12:59,343 INFO L203 MainTranslator]: Completed pre-run [2022-04-14 16:12:59,355 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_unwindbound10.c[535,548] [2022-04-14 16:12:59,374 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 16:12:59,382 INFO L208 MainTranslator]: Completed translation [2022-04-14 16:12:59,383 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 04:12:59 WrapperNode [2022-04-14 16:12:59,383 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-14 16:12:59,391 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-14 16:12:59,391 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-14 16:12:59,391 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-14 16:12:59,398 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 04:12:59" (1/1) ... [2022-04-14 16:12:59,398 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 04:12:59" (1/1) ... [2022-04-14 16:12:59,409 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 04:12:59" (1/1) ... [2022-04-14 16:12:59,409 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 04:12:59" (1/1) ... [2022-04-14 16:12:59,416 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 04:12:59" (1/1) ... [2022-04-14 16:12:59,419 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 04:12:59" (1/1) ... [2022-04-14 16:12:59,420 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 04:12:59" (1/1) ... [2022-04-14 16:12:59,421 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-14 16:12:59,421 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-14 16:12:59,421 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-14 16:12:59,421 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-14 16:12:59,423 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 04:12:59" (1/1) ... [2022-04-14 16:12:59,427 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 16:12:59,433 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 16:12:59,441 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-14 16:12:59,452 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-14 16:12:59,472 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-14 16:12:59,473 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-14 16:12:59,473 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-14 16:12:59,473 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-14 16:12:59,474 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-14 16:12:59,474 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-14 16:12:59,474 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-14 16:12:59,474 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-14 16:12:59,474 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-14 16:12:59,474 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-14 16:12:59,474 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-14 16:12:59,474 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-14 16:12:59,474 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-14 16:12:59,474 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-14 16:12:59,474 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-14 16:12:59,474 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-14 16:12:59,475 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-14 16:12:59,475 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-14 16:12:59,475 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-14 16:12:59,475 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-14 16:12:59,518 INFO L234 CfgBuilder]: Building ICFG [2022-04-14 16:12:59,519 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-14 16:12:59,706 INFO L275 CfgBuilder]: Performing block encoding [2022-04-14 16:12:59,710 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-14 16:12:59,710 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-14 16:12:59,712 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 04:12:59 BoogieIcfgContainer [2022-04-14 16:12:59,712 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-14 16:12:59,713 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-14 16:12:59,713 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-14 16:12:59,729 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-14 16:12:59,730 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.04 04:12:59" (1/3) ... [2022-04-14 16:12:59,730 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@23a805ec and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 04:12:59, skipping insertion in model container [2022-04-14 16:12:59,730 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 04:12:59" (2/3) ... [2022-04-14 16:12:59,730 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@23a805ec and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 04:12:59, skipping insertion in model container [2022-04-14 16:12:59,730 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 04:12:59" (3/3) ... [2022-04-14 16:12:59,731 INFO L111 eAbstractionObserver]: Analyzing ICFG fermat1-ll_unwindbound10.c [2022-04-14 16:12:59,734 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-14 16:12:59,735 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-14 16:12:59,782 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-14 16:12:59,786 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-14 16:12:59,786 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-14 16:12:59,803 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 8 states have call successors, (8), 4 states have call predecessors, (8), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-14 16:12:59,806 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-14 16:12:59,807 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 16:12:59,807 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 16:12:59,808 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 16:12:59,814 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 16:12:59,814 INFO L85 PathProgramCache]: Analyzing trace with hash 928708300, now seen corresponding path program 1 times [2022-04-14 16:12:59,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 16:12:59,821 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1951858698] [2022-04-14 16:12:59,822 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:12:59,822 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 16:12:59,916 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 16:12:59,916 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1290175723] [2022-04-14 16:12:59,917 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:12:59,917 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 16:12:59,917 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 16:12:59,918 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 16:12:59,919 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-14 16:12:59,982 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:12:59,983 INFO L263 TraceCheckSpWp]: Trace formula consists of 89 conjuncts, 1 conjunts are in the unsatisfiable core [2022-04-14 16:13:00,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:13:00,007 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 16:13:00,093 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {40#true} is VALID [2022-04-14 16:13:00,094 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {40#true} is VALID [2022-04-14 16:13:00,094 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-14 16:13:00,094 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #102#return; {40#true} is VALID [2022-04-14 16:13:00,094 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret9 := main(); {40#true} is VALID [2022-04-14 16:13:00,095 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#true} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {40#true} is VALID [2022-04-14 16:13:00,095 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {40#true} is VALID [2022-04-14 16:13:00,095 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-14 16:13:00,096 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-14 16:13:00,096 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-14 16:13:00,096 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #90#return; {41#false} is VALID [2022-04-14 16:13:00,096 INFO L272 TraceCheckUtils]: 11: Hoare triple {41#false} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {41#false} is VALID [2022-04-14 16:13:00,097 INFO L290 TraceCheckUtils]: 12: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-14 16:13:00,097 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#false} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-14 16:13:00,097 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-14 16:13:00,097 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {41#false} {41#false} #92#return; {41#false} is VALID [2022-04-14 16:13:00,097 INFO L290 TraceCheckUtils]: 16: Hoare triple {41#false} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {41#false} is VALID [2022-04-14 16:13:00,097 INFO L290 TraceCheckUtils]: 17: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-14 16:13:00,097 INFO L272 TraceCheckUtils]: 18: Hoare triple {41#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {41#false} is VALID [2022-04-14 16:13:00,098 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-14 16:13:00,098 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-14 16:13:00,098 INFO L290 TraceCheckUtils]: 21: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-14 16:13:00,099 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-14 16:13:00,099 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 16:13:00,099 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 16:13:00,099 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1951858698] [2022-04-14 16:13:00,099 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 16:13:00,099 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1290175723] [2022-04-14 16:13:00,100 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1290175723] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 16:13:00,100 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 16:13:00,100 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-04-14 16:13:00,103 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [731144607] [2022-04-14 16:13:00,103 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 16:13:00,107 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-14 16:13:00,108 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 16:13:00,109 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 16:13:00,126 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:00,126 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-04-14 16:13:00,126 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 16:13:00,142 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-04-14 16:13:00,143 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-04-14 16:13:00,145 INFO L87 Difference]: Start difference. First operand has 37 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 8 states have call successors, (8), 4 states have call predecessors, (8), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 16:13:00,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:00,188 INFO L93 Difference]: Finished difference Result 67 states and 100 transitions. [2022-04-14 16:13:00,188 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-04-14 16:13:00,188 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-14 16:13:00,189 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 16:13:00,189 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 16:13:00,195 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 100 transitions. [2022-04-14 16:13:00,195 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 16:13:00,199 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 100 transitions. [2022-04-14 16:13:00,199 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 2 states and 100 transitions. [2022-04-14 16:13:00,276 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:00,282 INFO L225 Difference]: With dead ends: 67 [2022-04-14 16:13:00,282 INFO L226 Difference]: Without dead ends: 32 [2022-04-14 16:13:00,284 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-04-14 16:13:00,286 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 46 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 16:13:00,287 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 16:13:00,296 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-14 16:13:00,304 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-14 16:13:00,305 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 16:13:00,305 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 16:13:00,306 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 16:13:00,306 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 16:13:00,309 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:00,309 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-14 16:13:00,309 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-14 16:13:00,310 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:00,310 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:00,310 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 32 states. [2022-04-14 16:13:00,311 INFO L87 Difference]: Start difference. First operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 32 states. [2022-04-14 16:13:00,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:00,313 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-14 16:13:00,313 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-14 16:13:00,314 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:00,314 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:00,314 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 16:13:00,314 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 16:13:00,314 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 20 states have (on average 1.35) internal successors, (27), 21 states have internal predecessors, (27), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 16:13:00,316 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-14 16:13:00,317 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 22 [2022-04-14 16:13:00,317 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 16:13:00,317 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-14 16:13:00,317 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 16:13:00,318 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-14 16:13:00,318 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-14 16:13:00,318 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 16:13:00,318 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 16:13:00,337 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-14 16:13:00,537 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable0 [2022-04-14 16:13:00,537 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 16:13:00,538 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 16:13:00,538 INFO L85 PathProgramCache]: Analyzing trace with hash -155606603, now seen corresponding path program 1 times [2022-04-14 16:13:00,538 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 16:13:00,538 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1754814333] [2022-04-14 16:13:00,538 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:00,539 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 16:13:00,555 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 16:13:00,555 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [714370573] [2022-04-14 16:13:00,555 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:00,555 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 16:13:00,555 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 16:13:00,556 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 16:13:00,557 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-14 16:13:00,594 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:13:00,595 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-14 16:13:00,607 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:13:00,609 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 16:13:00,755 INFO L272 TraceCheckUtils]: 0: Hoare triple {307#true} call ULTIMATE.init(); {307#true} is VALID [2022-04-14 16:13:00,756 INFO L290 TraceCheckUtils]: 1: Hoare triple {307#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {315#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:00,757 INFO L290 TraceCheckUtils]: 2: Hoare triple {315#(<= ~counter~0 0)} assume true; {315#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:00,758 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {315#(<= ~counter~0 0)} {307#true} #102#return; {315#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:00,766 INFO L272 TraceCheckUtils]: 4: Hoare triple {315#(<= ~counter~0 0)} call #t~ret9 := main(); {315#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:00,767 INFO L290 TraceCheckUtils]: 5: Hoare triple {315#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {315#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:00,767 INFO L272 TraceCheckUtils]: 6: Hoare triple {315#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {315#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:00,767 INFO L290 TraceCheckUtils]: 7: Hoare triple {315#(<= ~counter~0 0)} ~cond := #in~cond; {315#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:00,768 INFO L290 TraceCheckUtils]: 8: Hoare triple {315#(<= ~counter~0 0)} assume !(0 == ~cond); {315#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:00,768 INFO L290 TraceCheckUtils]: 9: Hoare triple {315#(<= ~counter~0 0)} assume true; {315#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:00,769 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {315#(<= ~counter~0 0)} {315#(<= ~counter~0 0)} #90#return; {315#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:00,769 INFO L272 TraceCheckUtils]: 11: Hoare triple {315#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {315#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:00,769 INFO L290 TraceCheckUtils]: 12: Hoare triple {315#(<= ~counter~0 0)} ~cond := #in~cond; {315#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:00,770 INFO L290 TraceCheckUtils]: 13: Hoare triple {315#(<= ~counter~0 0)} assume !(0 == ~cond); {315#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:00,770 INFO L290 TraceCheckUtils]: 14: Hoare triple {315#(<= ~counter~0 0)} assume true; {315#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:00,771 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {315#(<= ~counter~0 0)} {315#(<= ~counter~0 0)} #92#return; {315#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:00,771 INFO L290 TraceCheckUtils]: 16: Hoare triple {315#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {315#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:00,771 INFO L290 TraceCheckUtils]: 17: Hoare triple {315#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {364#(<= |main_#t~post6| 0)} is VALID [2022-04-14 16:13:00,772 INFO L290 TraceCheckUtils]: 18: Hoare triple {364#(<= |main_#t~post6| 0)} assume !(#t~post6 < 10);havoc #t~post6; {308#false} is VALID [2022-04-14 16:13:00,772 INFO L272 TraceCheckUtils]: 19: Hoare triple {308#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {308#false} is VALID [2022-04-14 16:13:00,772 INFO L290 TraceCheckUtils]: 20: Hoare triple {308#false} ~cond := #in~cond; {308#false} is VALID [2022-04-14 16:13:00,772 INFO L290 TraceCheckUtils]: 21: Hoare triple {308#false} assume 0 == ~cond; {308#false} is VALID [2022-04-14 16:13:00,772 INFO L290 TraceCheckUtils]: 22: Hoare triple {308#false} assume !false; {308#false} is VALID [2022-04-14 16:13:00,773 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 16:13:00,773 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 16:13:00,773 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 16:13:00,773 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1754814333] [2022-04-14 16:13:00,773 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 16:13:00,773 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [714370573] [2022-04-14 16:13:00,773 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [714370573] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 16:13:00,773 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 16:13:00,773 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-14 16:13:00,774 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1267513316] [2022-04-14 16:13:00,774 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 16:13:00,774 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-14 16:13:00,775 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 16:13:00,775 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 16:13:00,790 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:00,791 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-14 16:13:00,791 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 16:13:00,791 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-14 16:13:00,791 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-14 16:13:00,792 INFO L87 Difference]: Start difference. First operand 32 states and 41 transitions. Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 16:13:00,868 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:00,869 INFO L93 Difference]: Finished difference Result 41 states and 50 transitions. [2022-04-14 16:13:00,869 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-14 16:13:00,869 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-14 16:13:00,870 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 16:13:00,870 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 16:13:00,874 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 50 transitions. [2022-04-14 16:13:00,875 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 16:13:00,877 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 50 transitions. [2022-04-14 16:13:00,877 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 50 transitions. [2022-04-14 16:13:00,913 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:00,916 INFO L225 Difference]: With dead ends: 41 [2022-04-14 16:13:00,916 INFO L226 Difference]: Without dead ends: 34 [2022-04-14 16:13:00,917 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-14 16:13:00,919 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 0 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 101 SdHoareTripleChecker+Invalid, 9 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 16:13:00,920 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 101 Invalid, 9 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 16:13:00,921 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2022-04-14 16:13:00,931 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 34. [2022-04-14 16:13:00,931 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 16:13:00,931 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 16:13:00,932 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 16:13:00,933 INFO L87 Difference]: Start difference. First operand 34 states. Second operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 16:13:00,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:00,938 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-14 16:13:00,938 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-14 16:13:00,939 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:00,939 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:00,940 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 34 states. [2022-04-14 16:13:00,940 INFO L87 Difference]: Start difference. First operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 34 states. [2022-04-14 16:13:00,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:00,946 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-14 16:13:00,946 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-14 16:13:00,950 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:00,951 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:00,951 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 16:13:00,951 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 16:13:00,951 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 22 states have (on average 1.3181818181818181) internal successors, (29), 23 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 16:13:00,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 43 transitions. [2022-04-14 16:13:00,955 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 43 transitions. Word has length 23 [2022-04-14 16:13:00,956 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 16:13:00,956 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 43 transitions. [2022-04-14 16:13:00,956 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-14 16:13:00,957 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-14 16:13:00,957 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-14 16:13:00,959 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 16:13:00,959 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 16:13:00,977 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-14 16:13:01,159 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable1 [2022-04-14 16:13:01,160 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 16:13:01,160 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 16:13:01,160 INFO L85 PathProgramCache]: Analyzing trace with hash -153938307, now seen corresponding path program 1 times [2022-04-14 16:13:01,160 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 16:13:01,161 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1958916368] [2022-04-14 16:13:01,161 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:01,161 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 16:13:01,175 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 16:13:01,175 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [510869971] [2022-04-14 16:13:01,176 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:01,176 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 16:13:01,176 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 16:13:01,177 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 16:13:01,177 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-14 16:13:01,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:13:01,219 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-14 16:13:01,231 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:13:01,232 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 16:13:01,533 INFO L272 TraceCheckUtils]: 0: Hoare triple {554#true} call ULTIMATE.init(); {554#true} is VALID [2022-04-14 16:13:01,533 INFO L290 TraceCheckUtils]: 1: Hoare triple {554#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {554#true} is VALID [2022-04-14 16:13:01,533 INFO L290 TraceCheckUtils]: 2: Hoare triple {554#true} assume true; {554#true} is VALID [2022-04-14 16:13:01,533 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {554#true} {554#true} #102#return; {554#true} is VALID [2022-04-14 16:13:01,533 INFO L272 TraceCheckUtils]: 4: Hoare triple {554#true} call #t~ret9 := main(); {554#true} is VALID [2022-04-14 16:13:01,533 INFO L290 TraceCheckUtils]: 5: Hoare triple {554#true} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {554#true} is VALID [2022-04-14 16:13:01,534 INFO L272 TraceCheckUtils]: 6: Hoare triple {554#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {554#true} is VALID [2022-04-14 16:13:01,534 INFO L290 TraceCheckUtils]: 7: Hoare triple {554#true} ~cond := #in~cond; {554#true} is VALID [2022-04-14 16:13:01,534 INFO L290 TraceCheckUtils]: 8: Hoare triple {554#true} assume !(0 == ~cond); {554#true} is VALID [2022-04-14 16:13:01,534 INFO L290 TraceCheckUtils]: 9: Hoare triple {554#true} assume true; {554#true} is VALID [2022-04-14 16:13:01,534 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {554#true} {554#true} #90#return; {554#true} is VALID [2022-04-14 16:13:01,534 INFO L272 TraceCheckUtils]: 11: Hoare triple {554#true} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {554#true} is VALID [2022-04-14 16:13:01,534 INFO L290 TraceCheckUtils]: 12: Hoare triple {554#true} ~cond := #in~cond; {554#true} is VALID [2022-04-14 16:13:01,534 INFO L290 TraceCheckUtils]: 13: Hoare triple {554#true} assume !(0 == ~cond); {554#true} is VALID [2022-04-14 16:13:01,534 INFO L290 TraceCheckUtils]: 14: Hoare triple {554#true} assume true; {554#true} is VALID [2022-04-14 16:13:01,534 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {554#true} {554#true} #92#return; {554#true} is VALID [2022-04-14 16:13:03,558 WARN L290 TraceCheckUtils]: 16: Hoare triple {554#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {607#(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 UNKNOWN [2022-04-14 16:13:03,559 INFO L290 TraceCheckUtils]: 17: Hoare triple {607#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {607#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} is VALID [2022-04-14 16:13:03,568 INFO L290 TraceCheckUtils]: 18: Hoare triple {607#(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))} assume !!(#t~post6 < 10);havoc #t~post6; {607#(and (= (+ (* (- 1) main_~A~0) (* (div (+ (* (- 1) main_~u~0) 1) (- 2)) (div (+ (* (- 1) main_~u~0) 1) (- 2)))) main_~r~0) (= (mod (+ main_~u~0 1) 2) 0) (= main_~v~0 1))} is VALID [2022-04-14 16:13:03,769 INFO L272 TraceCheckUtils]: 19: Hoare triple {607#(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))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {617#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 16:13:03,770 INFO L290 TraceCheckUtils]: 20: Hoare triple {617#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {621#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 16:13:03,770 INFO L290 TraceCheckUtils]: 21: Hoare triple {621#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {555#false} is VALID [2022-04-14 16:13:03,771 INFO L290 TraceCheckUtils]: 22: Hoare triple {555#false} assume !false; {555#false} is VALID [2022-04-14 16:13:03,771 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 16:13:03,771 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 16:13:03,771 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 16:13:03,771 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1958916368] [2022-04-14 16:13:03,771 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 16:13:03,771 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [510869971] [2022-04-14 16:13:03,771 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [510869971] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 16:13:03,771 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 16:13:03,772 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-14 16:13:03,772 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1252708545] [2022-04-14 16:13:03,772 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 16:13:03,772 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-14 16:13:03,772 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 16:13:03,772 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-14 16:13:07,804 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 18 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:07,804 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-14 16:13:07,805 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 16:13:07,805 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-14 16:13:07,805 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-14 16:13:07,805 INFO L87 Difference]: Start difference. First operand 34 states and 43 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-14 16:13:16,299 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 16:13:16,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:16,359 INFO L93 Difference]: Finished difference Result 53 states and 70 transitions. [2022-04-14 16:13:16,359 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-14 16:13:16,360 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-14 16:13:16,360 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 16:13:16,360 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-14 16:13:16,361 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 68 transitions. [2022-04-14 16:13:16,361 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-14 16:13:16,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 68 transitions. [2022-04-14 16:13:16,362 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 68 transitions. [2022-04-14 16:13:20,370 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 67 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:20,372 INFO L225 Difference]: With dead ends: 53 [2022-04-14 16:13:20,372 INFO L226 Difference]: Without dead ends: 51 [2022-04-14 16:13:20,372 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-14 16:13:20,373 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 16 mSDsluCounter, 83 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 2 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 58 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.1s IncrementalHoareTripleChecker+Time [2022-04-14 16:13:20,374 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 116 Invalid, 58 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 55 Invalid, 1 Unknown, 0 Unchecked, 6.1s Time] [2022-04-14 16:13:20,375 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-14 16:13:20,383 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-14 16:13:20,383 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 16:13:20,384 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 16:13:20,384 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 16:13:20,384 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 16:13:20,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:20,386 INFO L93 Difference]: Finished difference Result 51 states and 68 transitions. [2022-04-14 16:13:20,386 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 68 transitions. [2022-04-14 16:13:20,386 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:20,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:20,387 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 51 states. [2022-04-14 16:13:20,387 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 51 states. [2022-04-14 16:13:20,388 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:20,388 INFO L93 Difference]: Finished difference Result 51 states and 68 transitions. [2022-04-14 16:13:20,389 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 68 transitions. [2022-04-14 16:13:20,389 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:20,389 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:20,389 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 16:13:20,389 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 16:13:20,389 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.3823529411764706) internal successors, (47), 35 states have internal predecessors, (47), 11 states have call successors, (11), 5 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-14 16:13:20,391 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 67 transitions. [2022-04-14 16:13:20,391 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 67 transitions. Word has length 23 [2022-04-14 16:13:20,391 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 16:13:20,391 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 67 transitions. [2022-04-14 16:13:20,391 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-14 16:13:20,391 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 67 transitions. [2022-04-14 16:13:20,391 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-14 16:13:20,391 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 16:13:20,392 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 16:13:20,410 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-14 16:13:20,600 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 16:13:20,600 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 16:13:20,600 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 16:13:20,601 INFO L85 PathProgramCache]: Analyzing trace with hash -1676885497, now seen corresponding path program 1 times [2022-04-14 16:13:20,601 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 16:13:20,601 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1549841441] [2022-04-14 16:13:20,601 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:20,601 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 16:13:20,610 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 16:13:20,610 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [205836804] [2022-04-14 16:13:20,611 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:20,611 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 16:13:20,611 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 16:13:20,613 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 16:13:20,616 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-14 16:13:20,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:13:20,654 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-14 16:13:20,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:13:20,666 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 16:13:20,842 INFO L272 TraceCheckUtils]: 0: Hoare triple {877#true} call ULTIMATE.init(); {877#true} is VALID [2022-04-14 16:13:20,843 INFO L290 TraceCheckUtils]: 1: Hoare triple {877#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {877#true} is VALID [2022-04-14 16:13:20,843 INFO L290 TraceCheckUtils]: 2: Hoare triple {877#true} assume true; {877#true} is VALID [2022-04-14 16:13:20,843 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {877#true} {877#true} #102#return; {877#true} is VALID [2022-04-14 16:13:20,843 INFO L272 TraceCheckUtils]: 4: Hoare triple {877#true} call #t~ret9 := main(); {877#true} is VALID [2022-04-14 16:13:20,843 INFO L290 TraceCheckUtils]: 5: Hoare triple {877#true} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {877#true} is VALID [2022-04-14 16:13:20,844 INFO L272 TraceCheckUtils]: 6: Hoare triple {877#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {877#true} is VALID [2022-04-14 16:13:20,844 INFO L290 TraceCheckUtils]: 7: Hoare triple {877#true} ~cond := #in~cond; {877#true} is VALID [2022-04-14 16:13:20,844 INFO L290 TraceCheckUtils]: 8: Hoare triple {877#true} assume !(0 == ~cond); {877#true} is VALID [2022-04-14 16:13:20,844 INFO L290 TraceCheckUtils]: 9: Hoare triple {877#true} assume true; {877#true} is VALID [2022-04-14 16:13:20,844 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {877#true} {877#true} #90#return; {877#true} is VALID [2022-04-14 16:13:20,844 INFO L272 TraceCheckUtils]: 11: Hoare triple {877#true} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {877#true} is VALID [2022-04-14 16:13:20,844 INFO L290 TraceCheckUtils]: 12: Hoare triple {877#true} ~cond := #in~cond; {877#true} is VALID [2022-04-14 16:13:20,844 INFO L290 TraceCheckUtils]: 13: Hoare triple {877#true} assume !(0 == ~cond); {877#true} is VALID [2022-04-14 16:13:20,844 INFO L290 TraceCheckUtils]: 14: Hoare triple {877#true} assume true; {877#true} is VALID [2022-04-14 16:13:20,844 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {877#true} {877#true} #92#return; {877#true} is VALID [2022-04-14 16:13:20,844 INFO L290 TraceCheckUtils]: 16: Hoare triple {877#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {877#true} is VALID [2022-04-14 16:13:20,845 INFO L290 TraceCheckUtils]: 17: Hoare triple {877#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {877#true} is VALID [2022-04-14 16:13:20,845 INFO L290 TraceCheckUtils]: 18: Hoare triple {877#true} assume !!(#t~post6 < 10);havoc #t~post6; {877#true} is VALID [2022-04-14 16:13:20,846 INFO L272 TraceCheckUtils]: 19: Hoare triple {877#true} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {877#true} is VALID [2022-04-14 16:13:20,846 INFO L290 TraceCheckUtils]: 20: Hoare triple {877#true} ~cond := #in~cond; {942#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 16:13:20,847 INFO L290 TraceCheckUtils]: 21: Hoare triple {942#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {946#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 16:13:20,847 INFO L290 TraceCheckUtils]: 22: Hoare triple {946#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {946#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 16:13:20,848 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {946#(not (= |__VERIFIER_assert_#in~cond| 0))} {877#true} #94#return; {953#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4) (* main_~r~0 4)))} is VALID [2022-04-14 16:13:20,849 INFO L290 TraceCheckUtils]: 24: Hoare triple {953#(= (+ (* 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)))} assume !(0 != ~r~0); {957#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4)))} is VALID [2022-04-14 16:13:20,849 INFO L272 TraceCheckUtils]: 25: Hoare triple {957#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4)))} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {961#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 16:13:20,850 INFO L290 TraceCheckUtils]: 26: Hoare triple {961#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {965#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 16:13:20,850 INFO L290 TraceCheckUtils]: 27: Hoare triple {965#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {878#false} is VALID [2022-04-14 16:13:20,850 INFO L290 TraceCheckUtils]: 28: Hoare triple {878#false} assume !false; {878#false} is VALID [2022-04-14 16:13:20,850 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 16:13:20,851 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 16:13:21,238 INFO L290 TraceCheckUtils]: 28: Hoare triple {878#false} assume !false; {878#false} is VALID [2022-04-14 16:13:21,238 INFO L290 TraceCheckUtils]: 27: Hoare triple {965#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {878#false} is VALID [2022-04-14 16:13:21,239 INFO L290 TraceCheckUtils]: 26: Hoare triple {961#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {965#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 16:13:21,239 INFO L272 TraceCheckUtils]: 25: Hoare triple {957#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4)))} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {961#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 16:13:21,240 INFO L290 TraceCheckUtils]: 24: Hoare triple {984#(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))))} assume !(0 != ~r~0); {957#(= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4)))} is VALID [2022-04-14 16:13:21,241 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {946#(not (= |__VERIFIER_assert_#in~cond| 0))} {877#true} #94#return; {984#(or (not (= main_~r~0 0)) (= (+ (* main_~v~0 2) (* main_~u~0 main_~u~0)) (+ (* main_~v~0 main_~v~0) (* main_~u~0 2) (* main_~A~0 4))))} is VALID [2022-04-14 16:13:21,242 INFO L290 TraceCheckUtils]: 22: Hoare triple {946#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {946#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 16:13:21,242 INFO L290 TraceCheckUtils]: 21: Hoare triple {997#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {946#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 16:13:21,245 INFO L290 TraceCheckUtils]: 20: Hoare triple {877#true} ~cond := #in~cond; {997#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 16:13:21,245 INFO L272 TraceCheckUtils]: 19: Hoare triple {877#true} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {877#true} is VALID [2022-04-14 16:13:21,245 INFO L290 TraceCheckUtils]: 18: Hoare triple {877#true} assume !!(#t~post6 < 10);havoc #t~post6; {877#true} is VALID [2022-04-14 16:13:21,245 INFO L290 TraceCheckUtils]: 17: Hoare triple {877#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {877#true} is VALID [2022-04-14 16:13:21,245 INFO L290 TraceCheckUtils]: 16: Hoare triple {877#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {877#true} is VALID [2022-04-14 16:13:21,246 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {877#true} {877#true} #92#return; {877#true} is VALID [2022-04-14 16:13:21,246 INFO L290 TraceCheckUtils]: 14: Hoare triple {877#true} assume true; {877#true} is VALID [2022-04-14 16:13:21,246 INFO L290 TraceCheckUtils]: 13: Hoare triple {877#true} assume !(0 == ~cond); {877#true} is VALID [2022-04-14 16:13:21,246 INFO L290 TraceCheckUtils]: 12: Hoare triple {877#true} ~cond := #in~cond; {877#true} is VALID [2022-04-14 16:13:21,246 INFO L272 TraceCheckUtils]: 11: Hoare triple {877#true} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {877#true} is VALID [2022-04-14 16:13:21,246 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {877#true} {877#true} #90#return; {877#true} is VALID [2022-04-14 16:13:21,246 INFO L290 TraceCheckUtils]: 9: Hoare triple {877#true} assume true; {877#true} is VALID [2022-04-14 16:13:21,246 INFO L290 TraceCheckUtils]: 8: Hoare triple {877#true} assume !(0 == ~cond); {877#true} is VALID [2022-04-14 16:13:21,246 INFO L290 TraceCheckUtils]: 7: Hoare triple {877#true} ~cond := #in~cond; {877#true} is VALID [2022-04-14 16:13:21,246 INFO L272 TraceCheckUtils]: 6: Hoare triple {877#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {877#true} is VALID [2022-04-14 16:13:21,246 INFO L290 TraceCheckUtils]: 5: Hoare triple {877#true} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {877#true} is VALID [2022-04-14 16:13:21,247 INFO L272 TraceCheckUtils]: 4: Hoare triple {877#true} call #t~ret9 := main(); {877#true} is VALID [2022-04-14 16:13:21,247 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {877#true} {877#true} #102#return; {877#true} is VALID [2022-04-14 16:13:21,247 INFO L290 TraceCheckUtils]: 2: Hoare triple {877#true} assume true; {877#true} is VALID [2022-04-14 16:13:21,247 INFO L290 TraceCheckUtils]: 1: Hoare triple {877#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {877#true} is VALID [2022-04-14 16:13:21,247 INFO L272 TraceCheckUtils]: 0: Hoare triple {877#true} call ULTIMATE.init(); {877#true} is VALID [2022-04-14 16:13:21,247 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 16:13:21,247 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 16:13:21,247 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1549841441] [2022-04-14 16:13:21,247 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 16:13:21,247 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [205836804] [2022-04-14 16:13:21,248 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [205836804] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 16:13:21,248 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 16:13:21,248 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-14 16:13:21,248 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1763462440] [2022-04-14 16:13:21,248 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 16:13:21,248 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) Word has length 29 [2022-04-14 16:13:21,248 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 16:13:21,249 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-14 16:13:21,270 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:21,270 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-14 16:13:21,270 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 16:13:21,271 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-14 16:13:21,271 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-04-14 16:13:21,271 INFO L87 Difference]: Start difference. First operand 50 states and 67 transitions. Second operand has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-14 16:13:21,733 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:21,733 INFO L93 Difference]: Finished difference Result 57 states and 73 transitions. [2022-04-14 16:13:21,733 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-14 16:13:21,733 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) Word has length 29 [2022-04-14 16:13:21,733 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 16:13:21,733 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-14 16:13:21,734 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 47 transitions. [2022-04-14 16:13:21,735 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-14 16:13:21,735 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 47 transitions. [2022-04-14 16:13:21,735 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 47 transitions. [2022-04-14 16:13:21,772 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:21,773 INFO L225 Difference]: With dead ends: 57 [2022-04-14 16:13:21,773 INFO L226 Difference]: Without dead ends: 52 [2022-04-14 16:13:21,773 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 48 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2022-04-14 16:13:21,774 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 24 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 105 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 171 SdHoareTripleChecker+Invalid, 113 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 105 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-14 16:13:21,774 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 171 Invalid, 113 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 105 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-14 16:13:21,775 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-14 16:13:21,788 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 36. [2022-04-14 16:13:21,788 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 16:13:21,788 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 36 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 16:13:21,788 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 36 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 16:13:21,789 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 36 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 16:13:21,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:21,794 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-14 16:13:21,794 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-14 16:13:21,794 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:21,794 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:21,795 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 52 states. [2022-04-14 16:13:21,796 INFO L87 Difference]: Start difference. First operand has 36 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 52 states. [2022-04-14 16:13:21,799 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:21,799 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-14 16:13:21,799 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-14 16:13:21,799 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:21,799 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:21,799 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 16:13:21,799 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 16:13:21,799 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 16:13:21,800 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 43 transitions. [2022-04-14 16:13:21,800 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 43 transitions. Word has length 29 [2022-04-14 16:13:21,802 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 16:13:21,802 INFO L478 AbstractCegarLoop]: Abstraction has 36 states and 43 transitions. [2022-04-14 16:13:21,802 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.111111111111111) internal successors, (19), 7 states have internal predecessors, (19), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-14 16:13:21,802 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 43 transitions. [2022-04-14 16:13:21,802 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-14 16:13:21,803 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 16:13:21,803 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 16:13:21,819 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-14 16:13:22,015 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 16:13:22,015 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 16:13:22,016 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 16:13:22,016 INFO L85 PathProgramCache]: Analyzing trace with hash 1154059858, now seen corresponding path program 1 times [2022-04-14 16:13:22,016 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 16:13:22,016 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [785636050] [2022-04-14 16:13:22,016 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:22,016 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 16:13:22,030 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 16:13:22,030 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1147875958] [2022-04-14 16:13:22,030 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:22,030 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 16:13:22,031 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 16:13:22,038 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 16:13:22,039 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-14 16:13:22,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:13:22,076 INFO L263 TraceCheckSpWp]: Trace formula consists of 118 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-14 16:13:22,087 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:13:22,088 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 16:13:22,202 INFO L272 TraceCheckUtils]: 0: Hoare triple {1302#true} call ULTIMATE.init(); {1302#true} is VALID [2022-04-14 16:13:22,202 INFO L290 TraceCheckUtils]: 1: Hoare triple {1302#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1310#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,203 INFO L290 TraceCheckUtils]: 2: Hoare triple {1310#(<= ~counter~0 0)} assume true; {1310#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,203 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1310#(<= ~counter~0 0)} {1302#true} #102#return; {1310#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,204 INFO L272 TraceCheckUtils]: 4: Hoare triple {1310#(<= ~counter~0 0)} call #t~ret9 := main(); {1310#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,204 INFO L290 TraceCheckUtils]: 5: Hoare triple {1310#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {1310#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,204 INFO L272 TraceCheckUtils]: 6: Hoare triple {1310#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {1310#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,205 INFO L290 TraceCheckUtils]: 7: Hoare triple {1310#(<= ~counter~0 0)} ~cond := #in~cond; {1310#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,205 INFO L290 TraceCheckUtils]: 8: Hoare triple {1310#(<= ~counter~0 0)} assume !(0 == ~cond); {1310#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,205 INFO L290 TraceCheckUtils]: 9: Hoare triple {1310#(<= ~counter~0 0)} assume true; {1310#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,206 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1310#(<= ~counter~0 0)} {1310#(<= ~counter~0 0)} #90#return; {1310#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,206 INFO L272 TraceCheckUtils]: 11: Hoare triple {1310#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {1310#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,206 INFO L290 TraceCheckUtils]: 12: Hoare triple {1310#(<= ~counter~0 0)} ~cond := #in~cond; {1310#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,207 INFO L290 TraceCheckUtils]: 13: Hoare triple {1310#(<= ~counter~0 0)} assume !(0 == ~cond); {1310#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,207 INFO L290 TraceCheckUtils]: 14: Hoare triple {1310#(<= ~counter~0 0)} assume true; {1310#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,207 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1310#(<= ~counter~0 0)} {1310#(<= ~counter~0 0)} #92#return; {1310#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,207 INFO L290 TraceCheckUtils]: 16: Hoare triple {1310#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {1310#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,208 INFO L290 TraceCheckUtils]: 17: Hoare triple {1310#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1359#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:22,208 INFO L290 TraceCheckUtils]: 18: Hoare triple {1359#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {1359#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:22,209 INFO L272 TraceCheckUtils]: 19: Hoare triple {1359#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1359#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:22,209 INFO L290 TraceCheckUtils]: 20: Hoare triple {1359#(<= ~counter~0 1)} ~cond := #in~cond; {1359#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:22,209 INFO L290 TraceCheckUtils]: 21: Hoare triple {1359#(<= ~counter~0 1)} assume !(0 == ~cond); {1359#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:22,210 INFO L290 TraceCheckUtils]: 22: Hoare triple {1359#(<= ~counter~0 1)} assume true; {1359#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:22,210 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1359#(<= ~counter~0 1)} {1359#(<= ~counter~0 1)} #94#return; {1359#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:22,210 INFO L290 TraceCheckUtils]: 24: Hoare triple {1359#(<= ~counter~0 1)} assume !!(0 != ~r~0); {1359#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:22,211 INFO L290 TraceCheckUtils]: 25: Hoare triple {1359#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1384#(<= |main_#t~post7| 1)} is VALID [2022-04-14 16:13:22,211 INFO L290 TraceCheckUtils]: 26: Hoare triple {1384#(<= |main_#t~post7| 1)} assume !(#t~post7 < 10);havoc #t~post7; {1303#false} is VALID [2022-04-14 16:13:22,211 INFO L290 TraceCheckUtils]: 27: Hoare triple {1303#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {1303#false} is VALID [2022-04-14 16:13:22,211 INFO L290 TraceCheckUtils]: 28: Hoare triple {1303#false} assume !(#t~post8 < 10);havoc #t~post8; {1303#false} is VALID [2022-04-14 16:13:22,211 INFO L290 TraceCheckUtils]: 29: Hoare triple {1303#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1303#false} is VALID [2022-04-14 16:13:22,211 INFO L290 TraceCheckUtils]: 30: Hoare triple {1303#false} assume !(#t~post6 < 10);havoc #t~post6; {1303#false} is VALID [2022-04-14 16:13:22,212 INFO L272 TraceCheckUtils]: 31: Hoare triple {1303#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1303#false} is VALID [2022-04-14 16:13:22,212 INFO L290 TraceCheckUtils]: 32: Hoare triple {1303#false} ~cond := #in~cond; {1303#false} is VALID [2022-04-14 16:13:22,212 INFO L290 TraceCheckUtils]: 33: Hoare triple {1303#false} assume 0 == ~cond; {1303#false} is VALID [2022-04-14 16:13:22,212 INFO L290 TraceCheckUtils]: 34: Hoare triple {1303#false} assume !false; {1303#false} is VALID [2022-04-14 16:13:22,212 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 16:13:22,212 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 16:13:22,212 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 16:13:22,212 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [785636050] [2022-04-14 16:13:22,212 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 16:13:22,212 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1147875958] [2022-04-14 16:13:22,212 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1147875958] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 16:13:22,212 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 16:13:22,212 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-14 16:13:22,213 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [549429950] [2022-04-14 16:13:22,213 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 16:13:22,213 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-14 16:13:22,213 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 16:13:22,213 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 16:13:22,234 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:22,234 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-14 16:13:22,234 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 16:13:22,235 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-14 16:13:22,235 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-14 16:13:22,235 INFO L87 Difference]: Start difference. First operand 36 states and 43 transitions. Second operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 16:13:22,337 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:22,338 INFO L93 Difference]: Finished difference Result 65 states and 79 transitions. [2022-04-14 16:13:22,338 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-14 16:13:22,338 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-14 16:13:22,338 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 16:13:22,338 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 16:13:22,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 77 transitions. [2022-04-14 16:13:22,339 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 16:13:22,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 77 transitions. [2022-04-14 16:13:22,341 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 77 transitions. [2022-04-14 16:13:22,390 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:22,391 INFO L225 Difference]: With dead ends: 65 [2022-04-14 16:13:22,391 INFO L226 Difference]: Without dead ends: 44 [2022-04-14 16:13:22,391 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-14 16:13:22,392 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 6 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 17 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 120 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 17 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 16:13:22,392 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 120 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 17 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 16:13:22,392 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-14 16:13:22,402 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 44. [2022-04-14 16:13:22,402 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 16:13:22,402 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 44 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 30 states have internal predecessors, (35), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 16:13:22,403 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 44 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 30 states have internal predecessors, (35), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 16:13:22,403 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 44 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 30 states have internal predecessors, (35), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 16:13:22,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:22,404 INFO L93 Difference]: Finished difference Result 44 states and 51 transitions. [2022-04-14 16:13:22,404 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 51 transitions. [2022-04-14 16:13:22,404 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:22,404 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:22,404 INFO L74 IsIncluded]: Start isIncluded. First operand has 44 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 30 states have internal predecessors, (35), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 44 states. [2022-04-14 16:13:22,404 INFO L87 Difference]: Start difference. First operand has 44 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 30 states have internal predecessors, (35), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 44 states. [2022-04-14 16:13:22,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:22,406 INFO L93 Difference]: Finished difference Result 44 states and 51 transitions. [2022-04-14 16:13:22,406 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 51 transitions. [2022-04-14 16:13:22,406 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:22,406 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:22,406 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 16:13:22,406 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 16:13:22,406 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 30 states have internal predecessors, (35), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 16:13:22,407 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 51 transitions. [2022-04-14 16:13:22,407 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 51 transitions. Word has length 35 [2022-04-14 16:13:22,407 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 16:13:22,407 INFO L478 AbstractCegarLoop]: Abstraction has 44 states and 51 transitions. [2022-04-14 16:13:22,407 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-14 16:13:22,407 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 51 transitions. [2022-04-14 16:13:22,408 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-14 16:13:22,408 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 16:13:22,408 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 16:13:22,426 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-14 16:13:22,627 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 16:13:22,627 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 16:13:22,628 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 16:13:22,628 INFO L85 PathProgramCache]: Analyzing trace with hash -174895632, now seen corresponding path program 1 times [2022-04-14 16:13:22,628 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 16:13:22,628 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2125391939] [2022-04-14 16:13:22,628 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:22,628 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 16:13:22,639 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 16:13:22,639 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [120153083] [2022-04-14 16:13:22,639 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:22,639 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 16:13:22,639 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 16:13:22,640 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 16:13:22,641 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-14 16:13:22,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:13:22,677 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-14 16:13:22,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:13:22,689 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 16:13:22,888 INFO L272 TraceCheckUtils]: 0: Hoare triple {1654#true} call ULTIMATE.init(); {1654#true} is VALID [2022-04-14 16:13:22,889 INFO L290 TraceCheckUtils]: 1: Hoare triple {1654#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1662#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,889 INFO L290 TraceCheckUtils]: 2: Hoare triple {1662#(<= ~counter~0 0)} assume true; {1662#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,889 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1662#(<= ~counter~0 0)} {1654#true} #102#return; {1662#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,889 INFO L272 TraceCheckUtils]: 4: Hoare triple {1662#(<= ~counter~0 0)} call #t~ret9 := main(); {1662#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,890 INFO L290 TraceCheckUtils]: 5: Hoare triple {1662#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {1662#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,890 INFO L272 TraceCheckUtils]: 6: Hoare triple {1662#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {1662#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,891 INFO L290 TraceCheckUtils]: 7: Hoare triple {1662#(<= ~counter~0 0)} ~cond := #in~cond; {1662#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,891 INFO L290 TraceCheckUtils]: 8: Hoare triple {1662#(<= ~counter~0 0)} assume !(0 == ~cond); {1662#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,891 INFO L290 TraceCheckUtils]: 9: Hoare triple {1662#(<= ~counter~0 0)} assume true; {1662#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,892 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1662#(<= ~counter~0 0)} {1662#(<= ~counter~0 0)} #90#return; {1662#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,892 INFO L272 TraceCheckUtils]: 11: Hoare triple {1662#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {1662#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,892 INFO L290 TraceCheckUtils]: 12: Hoare triple {1662#(<= ~counter~0 0)} ~cond := #in~cond; {1662#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,893 INFO L290 TraceCheckUtils]: 13: Hoare triple {1662#(<= ~counter~0 0)} assume !(0 == ~cond); {1662#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,893 INFO L290 TraceCheckUtils]: 14: Hoare triple {1662#(<= ~counter~0 0)} assume true; {1662#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,893 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1662#(<= ~counter~0 0)} {1662#(<= ~counter~0 0)} #92#return; {1662#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,893 INFO L290 TraceCheckUtils]: 16: Hoare triple {1662#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {1662#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:22,894 INFO L290 TraceCheckUtils]: 17: Hoare triple {1662#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1711#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:22,894 INFO L290 TraceCheckUtils]: 18: Hoare triple {1711#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {1711#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:22,895 INFO L272 TraceCheckUtils]: 19: Hoare triple {1711#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1711#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:22,895 INFO L290 TraceCheckUtils]: 20: Hoare triple {1711#(<= ~counter~0 1)} ~cond := #in~cond; {1711#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:22,897 INFO L290 TraceCheckUtils]: 21: Hoare triple {1711#(<= ~counter~0 1)} assume !(0 == ~cond); {1711#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:22,897 INFO L290 TraceCheckUtils]: 22: Hoare triple {1711#(<= ~counter~0 1)} assume true; {1711#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:22,897 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1711#(<= ~counter~0 1)} {1711#(<= ~counter~0 1)} #94#return; {1711#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:22,900 INFO L290 TraceCheckUtils]: 24: Hoare triple {1711#(<= ~counter~0 1)} assume !!(0 != ~r~0); {1711#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:22,900 INFO L290 TraceCheckUtils]: 25: Hoare triple {1711#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1736#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:22,901 INFO L290 TraceCheckUtils]: 26: Hoare triple {1736#(<= ~counter~0 2)} assume !!(#t~post7 < 10);havoc #t~post7; {1736#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:22,901 INFO L272 TraceCheckUtils]: 27: Hoare triple {1736#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1736#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:22,901 INFO L290 TraceCheckUtils]: 28: Hoare triple {1736#(<= ~counter~0 2)} ~cond := #in~cond; {1736#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:22,902 INFO L290 TraceCheckUtils]: 29: Hoare triple {1736#(<= ~counter~0 2)} assume !(0 == ~cond); {1736#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:22,902 INFO L290 TraceCheckUtils]: 30: Hoare triple {1736#(<= ~counter~0 2)} assume true; {1736#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:22,902 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1736#(<= ~counter~0 2)} {1736#(<= ~counter~0 2)} #96#return; {1736#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:22,903 INFO L290 TraceCheckUtils]: 32: Hoare triple {1736#(<= ~counter~0 2)} assume !(~r~0 > 0); {1736#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:22,903 INFO L290 TraceCheckUtils]: 33: Hoare triple {1736#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {1761#(<= |main_#t~post8| 2)} is VALID [2022-04-14 16:13:22,903 INFO L290 TraceCheckUtils]: 34: Hoare triple {1761#(<= |main_#t~post8| 2)} assume !(#t~post8 < 10);havoc #t~post8; {1655#false} is VALID [2022-04-14 16:13:22,903 INFO L290 TraceCheckUtils]: 35: Hoare triple {1655#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1655#false} is VALID [2022-04-14 16:13:22,903 INFO L290 TraceCheckUtils]: 36: Hoare triple {1655#false} assume !(#t~post6 < 10);havoc #t~post6; {1655#false} is VALID [2022-04-14 16:13:22,903 INFO L272 TraceCheckUtils]: 37: Hoare triple {1655#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1655#false} is VALID [2022-04-14 16:13:22,904 INFO L290 TraceCheckUtils]: 38: Hoare triple {1655#false} ~cond := #in~cond; {1655#false} is VALID [2022-04-14 16:13:22,904 INFO L290 TraceCheckUtils]: 39: Hoare triple {1655#false} assume 0 == ~cond; {1655#false} is VALID [2022-04-14 16:13:22,904 INFO L290 TraceCheckUtils]: 40: Hoare triple {1655#false} assume !false; {1655#false} is VALID [2022-04-14 16:13:22,904 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 16:13:22,904 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 16:13:23,123 INFO L290 TraceCheckUtils]: 40: Hoare triple {1655#false} assume !false; {1655#false} is VALID [2022-04-14 16:13:23,123 INFO L290 TraceCheckUtils]: 39: Hoare triple {1655#false} assume 0 == ~cond; {1655#false} is VALID [2022-04-14 16:13:23,123 INFO L290 TraceCheckUtils]: 38: Hoare triple {1655#false} ~cond := #in~cond; {1655#false} is VALID [2022-04-14 16:13:23,123 INFO L272 TraceCheckUtils]: 37: Hoare triple {1655#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1655#false} is VALID [2022-04-14 16:13:23,124 INFO L290 TraceCheckUtils]: 36: Hoare triple {1655#false} assume !(#t~post6 < 10);havoc #t~post6; {1655#false} is VALID [2022-04-14 16:13:23,124 INFO L290 TraceCheckUtils]: 35: Hoare triple {1655#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1655#false} is VALID [2022-04-14 16:13:23,124 INFO L290 TraceCheckUtils]: 34: Hoare triple {1801#(< |main_#t~post8| 10)} assume !(#t~post8 < 10);havoc #t~post8; {1655#false} is VALID [2022-04-14 16:13:23,124 INFO L290 TraceCheckUtils]: 33: Hoare triple {1805#(< ~counter~0 10)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {1801#(< |main_#t~post8| 10)} is VALID [2022-04-14 16:13:23,124 INFO L290 TraceCheckUtils]: 32: Hoare triple {1805#(< ~counter~0 10)} assume !(~r~0 > 0); {1805#(< ~counter~0 10)} is VALID [2022-04-14 16:13:23,125 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1654#true} {1805#(< ~counter~0 10)} #96#return; {1805#(< ~counter~0 10)} is VALID [2022-04-14 16:13:23,125 INFO L290 TraceCheckUtils]: 30: Hoare triple {1654#true} assume true; {1654#true} is VALID [2022-04-14 16:13:23,125 INFO L290 TraceCheckUtils]: 29: Hoare triple {1654#true} assume !(0 == ~cond); {1654#true} is VALID [2022-04-14 16:13:23,125 INFO L290 TraceCheckUtils]: 28: Hoare triple {1654#true} ~cond := #in~cond; {1654#true} is VALID [2022-04-14 16:13:23,125 INFO L272 TraceCheckUtils]: 27: Hoare triple {1805#(< ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1654#true} is VALID [2022-04-14 16:13:23,126 INFO L290 TraceCheckUtils]: 26: Hoare triple {1805#(< ~counter~0 10)} assume !!(#t~post7 < 10);havoc #t~post7; {1805#(< ~counter~0 10)} is VALID [2022-04-14 16:13:23,126 INFO L290 TraceCheckUtils]: 25: Hoare triple {1830#(< ~counter~0 9)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1805#(< ~counter~0 10)} is VALID [2022-04-14 16:13:23,126 INFO L290 TraceCheckUtils]: 24: Hoare triple {1830#(< ~counter~0 9)} assume !!(0 != ~r~0); {1830#(< ~counter~0 9)} is VALID [2022-04-14 16:13:23,127 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1654#true} {1830#(< ~counter~0 9)} #94#return; {1830#(< ~counter~0 9)} is VALID [2022-04-14 16:13:23,127 INFO L290 TraceCheckUtils]: 22: Hoare triple {1654#true} assume true; {1654#true} is VALID [2022-04-14 16:13:23,127 INFO L290 TraceCheckUtils]: 21: Hoare triple {1654#true} assume !(0 == ~cond); {1654#true} is VALID [2022-04-14 16:13:23,127 INFO L290 TraceCheckUtils]: 20: Hoare triple {1654#true} ~cond := #in~cond; {1654#true} is VALID [2022-04-14 16:13:23,127 INFO L272 TraceCheckUtils]: 19: Hoare triple {1830#(< ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {1654#true} is VALID [2022-04-14 16:13:23,127 INFO L290 TraceCheckUtils]: 18: Hoare triple {1830#(< ~counter~0 9)} assume !!(#t~post6 < 10);havoc #t~post6; {1830#(< ~counter~0 9)} is VALID [2022-04-14 16:13:23,128 INFO L290 TraceCheckUtils]: 17: Hoare triple {1855#(< ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1830#(< ~counter~0 9)} is VALID [2022-04-14 16:13:23,128 INFO L290 TraceCheckUtils]: 16: Hoare triple {1855#(< ~counter~0 8)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {1855#(< ~counter~0 8)} is VALID [2022-04-14 16:13:23,128 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1654#true} {1855#(< ~counter~0 8)} #92#return; {1855#(< ~counter~0 8)} is VALID [2022-04-14 16:13:23,128 INFO L290 TraceCheckUtils]: 14: Hoare triple {1654#true} assume true; {1654#true} is VALID [2022-04-14 16:13:23,128 INFO L290 TraceCheckUtils]: 13: Hoare triple {1654#true} assume !(0 == ~cond); {1654#true} is VALID [2022-04-14 16:13:23,129 INFO L290 TraceCheckUtils]: 12: Hoare triple {1654#true} ~cond := #in~cond; {1654#true} is VALID [2022-04-14 16:13:23,129 INFO L272 TraceCheckUtils]: 11: Hoare triple {1855#(< ~counter~0 8)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {1654#true} is VALID [2022-04-14 16:13:23,129 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1654#true} {1855#(< ~counter~0 8)} #90#return; {1855#(< ~counter~0 8)} is VALID [2022-04-14 16:13:23,129 INFO L290 TraceCheckUtils]: 9: Hoare triple {1654#true} assume true; {1654#true} is VALID [2022-04-14 16:13:23,129 INFO L290 TraceCheckUtils]: 8: Hoare triple {1654#true} assume !(0 == ~cond); {1654#true} is VALID [2022-04-14 16:13:23,129 INFO L290 TraceCheckUtils]: 7: Hoare triple {1654#true} ~cond := #in~cond; {1654#true} is VALID [2022-04-14 16:13:23,129 INFO L272 TraceCheckUtils]: 6: Hoare triple {1855#(< ~counter~0 8)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {1654#true} is VALID [2022-04-14 16:13:23,130 INFO L290 TraceCheckUtils]: 5: Hoare triple {1855#(< ~counter~0 8)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {1855#(< ~counter~0 8)} is VALID [2022-04-14 16:13:23,130 INFO L272 TraceCheckUtils]: 4: Hoare triple {1855#(< ~counter~0 8)} call #t~ret9 := main(); {1855#(< ~counter~0 8)} is VALID [2022-04-14 16:13:23,130 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1855#(< ~counter~0 8)} {1654#true} #102#return; {1855#(< ~counter~0 8)} is VALID [2022-04-14 16:13:23,130 INFO L290 TraceCheckUtils]: 2: Hoare triple {1855#(< ~counter~0 8)} assume true; {1855#(< ~counter~0 8)} is VALID [2022-04-14 16:13:23,131 INFO L290 TraceCheckUtils]: 1: Hoare triple {1654#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1855#(< ~counter~0 8)} is VALID [2022-04-14 16:13:23,131 INFO L272 TraceCheckUtils]: 0: Hoare triple {1654#true} call ULTIMATE.init(); {1654#true} is VALID [2022-04-14 16:13:23,131 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-14 16:13:23,131 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 16:13:23,131 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2125391939] [2022-04-14 16:13:23,131 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 16:13:23,131 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [120153083] [2022-04-14 16:13:23,131 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [120153083] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-14 16:13:23,131 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-14 16:13:23,131 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [6] total 10 [2022-04-14 16:13:23,132 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [983261377] [2022-04-14 16:13:23,132 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 16:13:23,132 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-14 16:13:23,132 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 16:13:23,132 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-14 16:13:23,157 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:23,158 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-14 16:13:23,158 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 16:13:23,158 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-14 16:13:23,158 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-14 16:13:23,158 INFO L87 Difference]: Start difference. First operand 44 states and 51 transitions. Second operand has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-14 16:13:23,276 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:23,276 INFO L93 Difference]: Finished difference Result 74 states and 89 transitions. [2022-04-14 16:13:23,276 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-14 16:13:23,276 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-14 16:13:23,276 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 16:13:23,276 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-14 16:13:23,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 87 transitions. [2022-04-14 16:13:23,278 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-14 16:13:23,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 87 transitions. [2022-04-14 16:13:23,279 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 87 transitions. [2022-04-14 16:13:23,335 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:23,336 INFO L225 Difference]: With dead ends: 74 [2022-04-14 16:13:23,336 INFO L226 Difference]: Without dead ends: 53 [2022-04-14 16:13:23,336 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 73 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-14 16:13:23,336 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 22 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 31 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 16:13:23,337 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 125 Invalid, 31 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 16:13:23,337 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-14 16:13:23,366 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 52. [2022-04-14 16:13:23,366 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 16:13:23,366 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 52 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 36 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-14 16:13:23,367 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 52 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 36 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-14 16:13:23,367 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 52 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 36 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-14 16:13:23,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:23,368 INFO L93 Difference]: Finished difference Result 53 states and 61 transitions. [2022-04-14 16:13:23,368 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 61 transitions. [2022-04-14 16:13:23,368 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:23,368 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:23,368 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 36 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-14 16:13:23,369 INFO L87 Difference]: Start difference. First operand has 52 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 36 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-14 16:13:23,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:23,370 INFO L93 Difference]: Finished difference Result 53 states and 61 transitions. [2022-04-14 16:13:23,370 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 61 transitions. [2022-04-14 16:13:23,370 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:23,370 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:23,370 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 16:13:23,370 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 16:13:23,370 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 36 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-14 16:13:23,371 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 60 transitions. [2022-04-14 16:13:23,371 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 60 transitions. Word has length 41 [2022-04-14 16:13:23,372 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 16:13:23,372 INFO L478 AbstractCegarLoop]: Abstraction has 52 states and 60 transitions. [2022-04-14 16:13:23,372 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 5 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-14 16:13:23,372 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 60 transitions. [2022-04-14 16:13:23,372 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-14 16:13:23,372 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 16:13:23,372 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 16:13:23,391 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-14 16:13:23,572 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 16:13:23,573 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 16:13:23,573 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 16:13:23,573 INFO L85 PathProgramCache]: Analyzing trace with hash -1292932747, now seen corresponding path program 1 times [2022-04-14 16:13:23,573 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 16:13:23,573 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [718704412] [2022-04-14 16:13:23,573 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:23,574 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 16:13:23,583 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 16:13:23,583 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1814453880] [2022-04-14 16:13:23,583 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:23,583 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 16:13:23,583 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 16:13:23,584 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 16:13:23,585 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-14 16:13:23,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:13:23,619 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-14 16:13:23,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:13:23,633 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 16:13:23,823 INFO L272 TraceCheckUtils]: 0: Hoare triple {2192#true} call ULTIMATE.init(); {2192#true} is VALID [2022-04-14 16:13:23,823 INFO L290 TraceCheckUtils]: 1: Hoare triple {2192#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2200#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:23,824 INFO L290 TraceCheckUtils]: 2: Hoare triple {2200#(<= ~counter~0 0)} assume true; {2200#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:23,824 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2200#(<= ~counter~0 0)} {2192#true} #102#return; {2200#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:23,824 INFO L272 TraceCheckUtils]: 4: Hoare triple {2200#(<= ~counter~0 0)} call #t~ret9 := main(); {2200#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:23,825 INFO L290 TraceCheckUtils]: 5: Hoare triple {2200#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {2200#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:23,825 INFO L272 TraceCheckUtils]: 6: Hoare triple {2200#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {2200#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:23,826 INFO L290 TraceCheckUtils]: 7: Hoare triple {2200#(<= ~counter~0 0)} ~cond := #in~cond; {2200#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:23,826 INFO L290 TraceCheckUtils]: 8: Hoare triple {2200#(<= ~counter~0 0)} assume !(0 == ~cond); {2200#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:23,826 INFO L290 TraceCheckUtils]: 9: Hoare triple {2200#(<= ~counter~0 0)} assume true; {2200#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:23,827 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2200#(<= ~counter~0 0)} {2200#(<= ~counter~0 0)} #90#return; {2200#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:23,827 INFO L272 TraceCheckUtils]: 11: Hoare triple {2200#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {2200#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:23,827 INFO L290 TraceCheckUtils]: 12: Hoare triple {2200#(<= ~counter~0 0)} ~cond := #in~cond; {2200#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:23,828 INFO L290 TraceCheckUtils]: 13: Hoare triple {2200#(<= ~counter~0 0)} assume !(0 == ~cond); {2200#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:23,828 INFO L290 TraceCheckUtils]: 14: Hoare triple {2200#(<= ~counter~0 0)} assume true; {2200#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:23,828 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2200#(<= ~counter~0 0)} {2200#(<= ~counter~0 0)} #92#return; {2200#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:23,829 INFO L290 TraceCheckUtils]: 16: Hoare triple {2200#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {2200#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:23,829 INFO L290 TraceCheckUtils]: 17: Hoare triple {2200#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2249#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:23,829 INFO L290 TraceCheckUtils]: 18: Hoare triple {2249#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {2249#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:23,830 INFO L272 TraceCheckUtils]: 19: Hoare triple {2249#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2249#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:23,830 INFO L290 TraceCheckUtils]: 20: Hoare triple {2249#(<= ~counter~0 1)} ~cond := #in~cond; {2249#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:23,831 INFO L290 TraceCheckUtils]: 21: Hoare triple {2249#(<= ~counter~0 1)} assume !(0 == ~cond); {2249#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:23,831 INFO L290 TraceCheckUtils]: 22: Hoare triple {2249#(<= ~counter~0 1)} assume true; {2249#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:23,831 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2249#(<= ~counter~0 1)} {2249#(<= ~counter~0 1)} #94#return; {2249#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:23,832 INFO L290 TraceCheckUtils]: 24: Hoare triple {2249#(<= ~counter~0 1)} assume !!(0 != ~r~0); {2249#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:23,832 INFO L290 TraceCheckUtils]: 25: Hoare triple {2249#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2274#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:23,832 INFO L290 TraceCheckUtils]: 26: Hoare triple {2274#(<= ~counter~0 2)} assume !!(#t~post7 < 10);havoc #t~post7; {2274#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:23,833 INFO L272 TraceCheckUtils]: 27: Hoare triple {2274#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2274#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:23,833 INFO L290 TraceCheckUtils]: 28: Hoare triple {2274#(<= ~counter~0 2)} ~cond := #in~cond; {2274#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:23,834 INFO L290 TraceCheckUtils]: 29: Hoare triple {2274#(<= ~counter~0 2)} assume !(0 == ~cond); {2274#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:23,834 INFO L290 TraceCheckUtils]: 30: Hoare triple {2274#(<= ~counter~0 2)} assume true; {2274#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:23,834 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2274#(<= ~counter~0 2)} {2274#(<= ~counter~0 2)} #96#return; {2274#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:23,835 INFO L290 TraceCheckUtils]: 32: Hoare triple {2274#(<= ~counter~0 2)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {2274#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:23,835 INFO L290 TraceCheckUtils]: 33: Hoare triple {2274#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2299#(<= |main_#t~post7| 2)} is VALID [2022-04-14 16:13:23,835 INFO L290 TraceCheckUtils]: 34: Hoare triple {2299#(<= |main_#t~post7| 2)} assume !(#t~post7 < 10);havoc #t~post7; {2193#false} is VALID [2022-04-14 16:13:23,835 INFO L290 TraceCheckUtils]: 35: Hoare triple {2193#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {2193#false} is VALID [2022-04-14 16:13:23,835 INFO L290 TraceCheckUtils]: 36: Hoare triple {2193#false} assume !(#t~post8 < 10);havoc #t~post8; {2193#false} is VALID [2022-04-14 16:13:23,836 INFO L290 TraceCheckUtils]: 37: Hoare triple {2193#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2193#false} is VALID [2022-04-14 16:13:23,836 INFO L290 TraceCheckUtils]: 38: Hoare triple {2193#false} assume !(#t~post6 < 10);havoc #t~post6; {2193#false} is VALID [2022-04-14 16:13:23,836 INFO L272 TraceCheckUtils]: 39: Hoare triple {2193#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2193#false} is VALID [2022-04-14 16:13:23,836 INFO L290 TraceCheckUtils]: 40: Hoare triple {2193#false} ~cond := #in~cond; {2193#false} is VALID [2022-04-14 16:13:23,836 INFO L290 TraceCheckUtils]: 41: Hoare triple {2193#false} assume 0 == ~cond; {2193#false} is VALID [2022-04-14 16:13:23,836 INFO L290 TraceCheckUtils]: 42: Hoare triple {2193#false} assume !false; {2193#false} is VALID [2022-04-14 16:13:23,836 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 6 proven. 6 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 16:13:23,836 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 16:13:24,051 INFO L290 TraceCheckUtils]: 42: Hoare triple {2193#false} assume !false; {2193#false} is VALID [2022-04-14 16:13:24,051 INFO L290 TraceCheckUtils]: 41: Hoare triple {2193#false} assume 0 == ~cond; {2193#false} is VALID [2022-04-14 16:13:24,051 INFO L290 TraceCheckUtils]: 40: Hoare triple {2193#false} ~cond := #in~cond; {2193#false} is VALID [2022-04-14 16:13:24,051 INFO L272 TraceCheckUtils]: 39: Hoare triple {2193#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2193#false} is VALID [2022-04-14 16:13:24,051 INFO L290 TraceCheckUtils]: 38: Hoare triple {2193#false} assume !(#t~post6 < 10);havoc #t~post6; {2193#false} is VALID [2022-04-14 16:13:24,051 INFO L290 TraceCheckUtils]: 37: Hoare triple {2193#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2193#false} is VALID [2022-04-14 16:13:24,051 INFO L290 TraceCheckUtils]: 36: Hoare triple {2193#false} assume !(#t~post8 < 10);havoc #t~post8; {2193#false} is VALID [2022-04-14 16:13:24,052 INFO L290 TraceCheckUtils]: 35: Hoare triple {2193#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {2193#false} is VALID [2022-04-14 16:13:24,052 INFO L290 TraceCheckUtils]: 34: Hoare triple {2351#(< |main_#t~post7| 10)} assume !(#t~post7 < 10);havoc #t~post7; {2193#false} is VALID [2022-04-14 16:13:24,052 INFO L290 TraceCheckUtils]: 33: Hoare triple {2355#(< ~counter~0 10)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2351#(< |main_#t~post7| 10)} is VALID [2022-04-14 16:13:24,052 INFO L290 TraceCheckUtils]: 32: Hoare triple {2355#(< ~counter~0 10)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {2355#(< ~counter~0 10)} is VALID [2022-04-14 16:13:24,053 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2192#true} {2355#(< ~counter~0 10)} #96#return; {2355#(< ~counter~0 10)} is VALID [2022-04-14 16:13:24,053 INFO L290 TraceCheckUtils]: 30: Hoare triple {2192#true} assume true; {2192#true} is VALID [2022-04-14 16:13:24,053 INFO L290 TraceCheckUtils]: 29: Hoare triple {2192#true} assume !(0 == ~cond); {2192#true} is VALID [2022-04-14 16:13:24,053 INFO L290 TraceCheckUtils]: 28: Hoare triple {2192#true} ~cond := #in~cond; {2192#true} is VALID [2022-04-14 16:13:24,053 INFO L272 TraceCheckUtils]: 27: Hoare triple {2355#(< ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2192#true} is VALID [2022-04-14 16:13:24,054 INFO L290 TraceCheckUtils]: 26: Hoare triple {2355#(< ~counter~0 10)} assume !!(#t~post7 < 10);havoc #t~post7; {2355#(< ~counter~0 10)} is VALID [2022-04-14 16:13:24,054 INFO L290 TraceCheckUtils]: 25: Hoare triple {2380#(< ~counter~0 9)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2355#(< ~counter~0 10)} is VALID [2022-04-14 16:13:24,055 INFO L290 TraceCheckUtils]: 24: Hoare triple {2380#(< ~counter~0 9)} assume !!(0 != ~r~0); {2380#(< ~counter~0 9)} is VALID [2022-04-14 16:13:24,055 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2192#true} {2380#(< ~counter~0 9)} #94#return; {2380#(< ~counter~0 9)} is VALID [2022-04-14 16:13:24,055 INFO L290 TraceCheckUtils]: 22: Hoare triple {2192#true} assume true; {2192#true} is VALID [2022-04-14 16:13:24,055 INFO L290 TraceCheckUtils]: 21: Hoare triple {2192#true} assume !(0 == ~cond); {2192#true} is VALID [2022-04-14 16:13:24,055 INFO L290 TraceCheckUtils]: 20: Hoare triple {2192#true} ~cond := #in~cond; {2192#true} is VALID [2022-04-14 16:13:24,056 INFO L272 TraceCheckUtils]: 19: Hoare triple {2380#(< ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2192#true} is VALID [2022-04-14 16:13:24,056 INFO L290 TraceCheckUtils]: 18: Hoare triple {2380#(< ~counter~0 9)} assume !!(#t~post6 < 10);havoc #t~post6; {2380#(< ~counter~0 9)} is VALID [2022-04-14 16:13:24,056 INFO L290 TraceCheckUtils]: 17: Hoare triple {2405#(< ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2380#(< ~counter~0 9)} is VALID [2022-04-14 16:13:24,057 INFO L290 TraceCheckUtils]: 16: Hoare triple {2405#(< ~counter~0 8)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {2405#(< ~counter~0 8)} is VALID [2022-04-14 16:13:24,057 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2192#true} {2405#(< ~counter~0 8)} #92#return; {2405#(< ~counter~0 8)} is VALID [2022-04-14 16:13:24,057 INFO L290 TraceCheckUtils]: 14: Hoare triple {2192#true} assume true; {2192#true} is VALID [2022-04-14 16:13:24,057 INFO L290 TraceCheckUtils]: 13: Hoare triple {2192#true} assume !(0 == ~cond); {2192#true} is VALID [2022-04-14 16:13:24,057 INFO L290 TraceCheckUtils]: 12: Hoare triple {2192#true} ~cond := #in~cond; {2192#true} is VALID [2022-04-14 16:13:24,057 INFO L272 TraceCheckUtils]: 11: Hoare triple {2405#(< ~counter~0 8)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {2192#true} is VALID [2022-04-14 16:13:24,058 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2192#true} {2405#(< ~counter~0 8)} #90#return; {2405#(< ~counter~0 8)} is VALID [2022-04-14 16:13:24,058 INFO L290 TraceCheckUtils]: 9: Hoare triple {2192#true} assume true; {2192#true} is VALID [2022-04-14 16:13:24,058 INFO L290 TraceCheckUtils]: 8: Hoare triple {2192#true} assume !(0 == ~cond); {2192#true} is VALID [2022-04-14 16:13:24,058 INFO L290 TraceCheckUtils]: 7: Hoare triple {2192#true} ~cond := #in~cond; {2192#true} is VALID [2022-04-14 16:13:24,058 INFO L272 TraceCheckUtils]: 6: Hoare triple {2405#(< ~counter~0 8)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {2192#true} is VALID [2022-04-14 16:13:24,058 INFO L290 TraceCheckUtils]: 5: Hoare triple {2405#(< ~counter~0 8)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {2405#(< ~counter~0 8)} is VALID [2022-04-14 16:13:24,059 INFO L272 TraceCheckUtils]: 4: Hoare triple {2405#(< ~counter~0 8)} call #t~ret9 := main(); {2405#(< ~counter~0 8)} is VALID [2022-04-14 16:13:24,059 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2405#(< ~counter~0 8)} {2192#true} #102#return; {2405#(< ~counter~0 8)} is VALID [2022-04-14 16:13:24,059 INFO L290 TraceCheckUtils]: 2: Hoare triple {2405#(< ~counter~0 8)} assume true; {2405#(< ~counter~0 8)} is VALID [2022-04-14 16:13:24,060 INFO L290 TraceCheckUtils]: 1: Hoare triple {2192#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2405#(< ~counter~0 8)} is VALID [2022-04-14 16:13:24,060 INFO L272 TraceCheckUtils]: 0: Hoare triple {2192#true} call ULTIMATE.init(); {2192#true} is VALID [2022-04-14 16:13:24,060 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-14 16:13:24,060 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 16:13:24,060 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [718704412] [2022-04-14 16:13:24,060 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 16:13:24,060 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1814453880] [2022-04-14 16:13:24,060 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1814453880] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 16:13:24,061 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 16:13:24,061 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-14 16:13:24,061 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1904014250] [2022-04-14 16:13:24,061 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 16:13:24,061 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.6) internal successors, (46), 10 states have internal predecessors, (46), 8 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 6 states have call predecessors, (10), 7 states have call successors, (10) Word has length 43 [2022-04-14 16:13:24,061 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 16:13:24,062 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 4.6) internal successors, (46), 10 states have internal predecessors, (46), 8 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 6 states have call predecessors, (10), 7 states have call successors, (10) [2022-04-14 16:13:24,110 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:24,110 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-14 16:13:24,110 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 16:13:24,111 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-14 16:13:24,111 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-14 16:13:24,111 INFO L87 Difference]: Start difference. First operand 52 states and 60 transitions. Second operand has 10 states, 10 states have (on average 4.6) internal successors, (46), 10 states have internal predecessors, (46), 8 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 6 states have call predecessors, (10), 7 states have call successors, (10) [2022-04-14 16:13:24,525 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:24,525 INFO L93 Difference]: Finished difference Result 129 states and 160 transitions. [2022-04-14 16:13:24,525 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-14 16:13:24,526 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.6) internal successors, (46), 10 states have internal predecessors, (46), 8 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 6 states have call predecessors, (10), 7 states have call successors, (10) Word has length 43 [2022-04-14 16:13:24,526 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 16:13:24,526 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.6) internal successors, (46), 10 states have internal predecessors, (46), 8 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 6 states have call predecessors, (10), 7 states have call successors, (10) [2022-04-14 16:13:24,529 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 156 transitions. [2022-04-14 16:13:24,530 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.6) internal successors, (46), 10 states have internal predecessors, (46), 8 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 6 states have call predecessors, (10), 7 states have call successors, (10) [2022-04-14 16:13:24,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 156 transitions. [2022-04-14 16:13:24,532 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 156 transitions. [2022-04-14 16:13:24,632 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 156 edges. 156 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:24,634 INFO L225 Difference]: With dead ends: 129 [2022-04-14 16:13:24,634 INFO L226 Difference]: Without dead ends: 108 [2022-04-14 16:13:24,634 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 77 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=63, Invalid=119, Unknown=0, NotChecked=0, Total=182 [2022-04-14 16:13:24,635 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 106 mSDsluCounter, 167 mSDsCounter, 0 mSdLazyCounter, 71 mSolverCounterSat, 52 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 106 SdHoareTripleChecker+Valid, 213 SdHoareTripleChecker+Invalid, 123 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 52 IncrementalHoareTripleChecker+Valid, 71 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-14 16:13:24,635 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [106 Valid, 213 Invalid, 123 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [52 Valid, 71 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-14 16:13:24,635 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-14 16:13:24,671 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 95. [2022-04-14 16:13:24,671 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 16:13:24,671 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 95 states, 68 states have (on average 1.2205882352941178) internal successors, (83), 69 states have internal predecessors, (83), 18 states have call successors, (18), 10 states have call predecessors, (18), 8 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-14 16:13:24,672 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 95 states, 68 states have (on average 1.2205882352941178) internal successors, (83), 69 states have internal predecessors, (83), 18 states have call successors, (18), 10 states have call predecessors, (18), 8 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-14 16:13:24,672 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 95 states, 68 states have (on average 1.2205882352941178) internal successors, (83), 69 states have internal predecessors, (83), 18 states have call successors, (18), 10 states have call predecessors, (18), 8 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-14 16:13:24,676 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:24,676 INFO L93 Difference]: Finished difference Result 108 states and 129 transitions. [2022-04-14 16:13:24,676 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 129 transitions. [2022-04-14 16:13:24,676 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:24,676 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:24,676 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 68 states have (on average 1.2205882352941178) internal successors, (83), 69 states have internal predecessors, (83), 18 states have call successors, (18), 10 states have call predecessors, (18), 8 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) Second operand 108 states. [2022-04-14 16:13:24,677 INFO L87 Difference]: Start difference. First operand has 95 states, 68 states have (on average 1.2205882352941178) internal successors, (83), 69 states have internal predecessors, (83), 18 states have call successors, (18), 10 states have call predecessors, (18), 8 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) Second operand 108 states. [2022-04-14 16:13:24,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:24,680 INFO L93 Difference]: Finished difference Result 108 states and 129 transitions. [2022-04-14 16:13:24,680 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 129 transitions. [2022-04-14 16:13:24,680 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:24,681 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:24,681 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 16:13:24,681 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 16:13:24,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 68 states have (on average 1.2205882352941178) internal successors, (83), 69 states have internal predecessors, (83), 18 states have call successors, (18), 10 states have call predecessors, (18), 8 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-14 16:13:24,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 117 transitions. [2022-04-14 16:13:24,683 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 117 transitions. Word has length 43 [2022-04-14 16:13:24,683 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 16:13:24,683 INFO L478 AbstractCegarLoop]: Abstraction has 95 states and 117 transitions. [2022-04-14 16:13:24,683 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 4.6) internal successors, (46), 10 states have internal predecessors, (46), 8 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 6 states have call predecessors, (10), 7 states have call successors, (10) [2022-04-14 16:13:24,683 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 117 transitions. [2022-04-14 16:13:24,684 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-14 16:13:24,684 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 16:13:24,684 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 16:13:24,702 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-14 16:13:24,895 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 16:13:24,896 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 16:13:24,896 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 16:13:24,896 INFO L85 PathProgramCache]: Analyzing trace with hash 1407897436, now seen corresponding path program 1 times [2022-04-14 16:13:24,896 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 16:13:24,896 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [593205726] [2022-04-14 16:13:24,896 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:24,896 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 16:13:24,905 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 16:13:24,905 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1477510141] [2022-04-14 16:13:24,905 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:24,905 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 16:13:24,905 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 16:13:24,909 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 16:13:24,910 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-14 16:13:24,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:13:24,953 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 3 conjunts are in the unsatisfiable core [2022-04-14 16:13:24,960 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:13:24,963 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 16:13:25,115 INFO L272 TraceCheckUtils]: 0: Hoare triple {2996#true} call ULTIMATE.init(); {2996#true} is VALID [2022-04-14 16:13:25,116 INFO L290 TraceCheckUtils]: 1: Hoare triple {2996#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2996#true} is VALID [2022-04-14 16:13:25,116 INFO L290 TraceCheckUtils]: 2: Hoare triple {2996#true} assume true; {2996#true} is VALID [2022-04-14 16:13:25,116 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2996#true} {2996#true} #102#return; {2996#true} is VALID [2022-04-14 16:13:25,116 INFO L272 TraceCheckUtils]: 4: Hoare triple {2996#true} call #t~ret9 := main(); {2996#true} is VALID [2022-04-14 16:13:25,116 INFO L290 TraceCheckUtils]: 5: Hoare triple {2996#true} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {2996#true} is VALID [2022-04-14 16:13:25,116 INFO L272 TraceCheckUtils]: 6: Hoare triple {2996#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {2996#true} is VALID [2022-04-14 16:13:25,116 INFO L290 TraceCheckUtils]: 7: Hoare triple {2996#true} ~cond := #in~cond; {2996#true} is VALID [2022-04-14 16:13:25,116 INFO L290 TraceCheckUtils]: 8: Hoare triple {2996#true} assume !(0 == ~cond); {2996#true} is VALID [2022-04-14 16:13:25,116 INFO L290 TraceCheckUtils]: 9: Hoare triple {2996#true} assume true; {2996#true} is VALID [2022-04-14 16:13:25,116 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2996#true} {2996#true} #90#return; {2996#true} is VALID [2022-04-14 16:13:25,116 INFO L272 TraceCheckUtils]: 11: Hoare triple {2996#true} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {2996#true} is VALID [2022-04-14 16:13:25,116 INFO L290 TraceCheckUtils]: 12: Hoare triple {2996#true} ~cond := #in~cond; {2996#true} is VALID [2022-04-14 16:13:25,116 INFO L290 TraceCheckUtils]: 13: Hoare triple {2996#true} assume !(0 == ~cond); {2996#true} is VALID [2022-04-14 16:13:25,116 INFO L290 TraceCheckUtils]: 14: Hoare triple {2996#true} assume true; {2996#true} is VALID [2022-04-14 16:13:25,117 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2996#true} {2996#true} #92#return; {2996#true} is VALID [2022-04-14 16:13:25,117 INFO L290 TraceCheckUtils]: 16: Hoare triple {2996#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {2996#true} is VALID [2022-04-14 16:13:25,117 INFO L290 TraceCheckUtils]: 17: Hoare triple {2996#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2996#true} is VALID [2022-04-14 16:13:25,117 INFO L290 TraceCheckUtils]: 18: Hoare triple {2996#true} assume !!(#t~post6 < 10);havoc #t~post6; {2996#true} is VALID [2022-04-14 16:13:25,117 INFO L272 TraceCheckUtils]: 19: Hoare triple {2996#true} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2996#true} is VALID [2022-04-14 16:13:25,117 INFO L290 TraceCheckUtils]: 20: Hoare triple {2996#true} ~cond := #in~cond; {2996#true} is VALID [2022-04-14 16:13:25,117 INFO L290 TraceCheckUtils]: 21: Hoare triple {2996#true} assume !(0 == ~cond); {2996#true} is VALID [2022-04-14 16:13:25,117 INFO L290 TraceCheckUtils]: 22: Hoare triple {2996#true} assume true; {2996#true} is VALID [2022-04-14 16:13:25,117 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2996#true} {2996#true} #94#return; {2996#true} is VALID [2022-04-14 16:13:25,118 INFO L290 TraceCheckUtils]: 24: Hoare triple {2996#true} assume !!(0 != ~r~0); {3073#(not (= main_~r~0 0))} is VALID [2022-04-14 16:13:25,118 INFO L290 TraceCheckUtils]: 25: Hoare triple {3073#(not (= main_~r~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {3073#(not (= main_~r~0 0))} is VALID [2022-04-14 16:13:25,118 INFO L290 TraceCheckUtils]: 26: Hoare triple {3073#(not (= main_~r~0 0))} assume !!(#t~post7 < 10);havoc #t~post7; {3073#(not (= main_~r~0 0))} is VALID [2022-04-14 16:13:25,119 INFO L272 TraceCheckUtils]: 27: Hoare triple {3073#(not (= main_~r~0 0))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2996#true} is VALID [2022-04-14 16:13:25,119 INFO L290 TraceCheckUtils]: 28: Hoare triple {2996#true} ~cond := #in~cond; {2996#true} is VALID [2022-04-14 16:13:25,119 INFO L290 TraceCheckUtils]: 29: Hoare triple {2996#true} assume !(0 == ~cond); {2996#true} is VALID [2022-04-14 16:13:25,119 INFO L290 TraceCheckUtils]: 30: Hoare triple {2996#true} assume true; {2996#true} is VALID [2022-04-14 16:13:25,119 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2996#true} {3073#(not (= main_~r~0 0))} #96#return; {3073#(not (= main_~r~0 0))} is VALID [2022-04-14 16:13:25,120 INFO L290 TraceCheckUtils]: 32: Hoare triple {3073#(not (= main_~r~0 0))} assume !(~r~0 > 0); {3098#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} is VALID [2022-04-14 16:13:25,120 INFO L290 TraceCheckUtils]: 33: Hoare triple {3098#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {3098#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} is VALID [2022-04-14 16:13:25,120 INFO L290 TraceCheckUtils]: 34: Hoare triple {3098#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} assume !!(#t~post8 < 10);havoc #t~post8; {3098#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} is VALID [2022-04-14 16:13:25,125 INFO L272 TraceCheckUtils]: 35: Hoare triple {3098#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2996#true} is VALID [2022-04-14 16:13:25,125 INFO L290 TraceCheckUtils]: 36: Hoare triple {2996#true} ~cond := #in~cond; {2996#true} is VALID [2022-04-14 16:13:25,125 INFO L290 TraceCheckUtils]: 37: Hoare triple {2996#true} assume !(0 == ~cond); {2996#true} is VALID [2022-04-14 16:13:25,125 INFO L290 TraceCheckUtils]: 38: Hoare triple {2996#true} assume true; {2996#true} is VALID [2022-04-14 16:13:25,125 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2996#true} {3098#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} #98#return; {3098#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} is VALID [2022-04-14 16:13:25,126 INFO L290 TraceCheckUtils]: 40: Hoare triple {3098#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} assume !(~r~0 < 0); {2997#false} is VALID [2022-04-14 16:13:25,126 INFO L290 TraceCheckUtils]: 41: Hoare triple {2997#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2997#false} is VALID [2022-04-14 16:13:25,127 INFO L290 TraceCheckUtils]: 42: Hoare triple {2997#false} assume !(#t~post6 < 10);havoc #t~post6; {2997#false} is VALID [2022-04-14 16:13:25,127 INFO L272 TraceCheckUtils]: 43: Hoare triple {2997#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {2997#false} is VALID [2022-04-14 16:13:25,127 INFO L290 TraceCheckUtils]: 44: Hoare triple {2997#false} ~cond := #in~cond; {2997#false} is VALID [2022-04-14 16:13:25,129 INFO L290 TraceCheckUtils]: 45: Hoare triple {2997#false} assume 0 == ~cond; {2997#false} is VALID [2022-04-14 16:13:25,129 INFO L290 TraceCheckUtils]: 46: Hoare triple {2997#false} assume !false; {2997#false} is VALID [2022-04-14 16:13:25,129 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-14 16:13:25,129 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 16:13:25,129 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 16:13:25,129 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [593205726] [2022-04-14 16:13:25,129 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 16:13:25,129 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1477510141] [2022-04-14 16:13:25,129 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1477510141] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 16:13:25,129 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 16:13:25,129 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-14 16:13:25,130 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1153233443] [2022-04-14 16:13:25,130 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 16:13:25,130 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 47 [2022-04-14 16:13:25,130 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 16:13:25,130 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-14 16:13:25,153 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:25,153 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-14 16:13:25,153 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 16:13:25,154 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-14 16:13:25,154 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-04-14 16:13:25,154 INFO L87 Difference]: Start difference. First operand 95 states and 117 transitions. Second operand has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-14 16:13:25,271 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:25,272 INFO L93 Difference]: Finished difference Result 158 states and 202 transitions. [2022-04-14 16:13:25,272 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-14 16:13:25,272 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 47 [2022-04-14 16:13:25,272 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 16:13:25,272 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-14 16:13:25,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 108 transitions. [2022-04-14 16:13:25,273 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-14 16:13:25,275 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 108 transitions. [2022-04-14 16:13:25,275 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 108 transitions. [2022-04-14 16:13:25,339 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:25,342 INFO L225 Difference]: With dead ends: 158 [2022-04-14 16:13:25,342 INFO L226 Difference]: Without dead ends: 119 [2022-04-14 16:13:25,343 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 44 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-04-14 16:13:25,343 INFO L913 BasicCegarLoop]: 53 mSDtfsCounter, 23 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 24 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 93 SdHoareTripleChecker+Invalid, 27 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 24 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 16:13:25,344 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [27 Valid, 93 Invalid, 27 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 24 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 16:13:25,344 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 119 states. [2022-04-14 16:13:25,389 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 119 to 109. [2022-04-14 16:13:25,389 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 16:13:25,390 INFO L82 GeneralOperation]: Start isEquivalent. First operand 119 states. Second operand has 109 states, 79 states have (on average 1.2278481012658229) internal successors, (97), 80 states have internal predecessors, (97), 21 states have call successors, (21), 10 states have call predecessors, (21), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-14 16:13:25,390 INFO L74 IsIncluded]: Start isIncluded. First operand 119 states. Second operand has 109 states, 79 states have (on average 1.2278481012658229) internal successors, (97), 80 states have internal predecessors, (97), 21 states have call successors, (21), 10 states have call predecessors, (21), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-14 16:13:25,396 INFO L87 Difference]: Start difference. First operand 119 states. Second operand has 109 states, 79 states have (on average 1.2278481012658229) internal successors, (97), 80 states have internal predecessors, (97), 21 states have call successors, (21), 10 states have call predecessors, (21), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-14 16:13:25,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:25,401 INFO L93 Difference]: Finished difference Result 119 states and 152 transitions. [2022-04-14 16:13:25,401 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 152 transitions. [2022-04-14 16:13:25,402 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:25,402 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:25,402 INFO L74 IsIncluded]: Start isIncluded. First operand has 109 states, 79 states have (on average 1.2278481012658229) internal successors, (97), 80 states have internal predecessors, (97), 21 states have call successors, (21), 10 states have call predecessors, (21), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 119 states. [2022-04-14 16:13:25,404 INFO L87 Difference]: Start difference. First operand has 109 states, 79 states have (on average 1.2278481012658229) internal successors, (97), 80 states have internal predecessors, (97), 21 states have call successors, (21), 10 states have call predecessors, (21), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 119 states. [2022-04-14 16:13:25,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:25,407 INFO L93 Difference]: Finished difference Result 119 states and 152 transitions. [2022-04-14 16:13:25,407 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 152 transitions. [2022-04-14 16:13:25,407 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:25,408 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:25,408 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 16:13:25,408 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 16:13:25,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 109 states, 79 states have (on average 1.2278481012658229) internal successors, (97), 80 states have internal predecessors, (97), 21 states have call successors, (21), 10 states have call predecessors, (21), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-14 16:13:25,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 137 transitions. [2022-04-14 16:13:25,410 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 137 transitions. Word has length 47 [2022-04-14 16:13:25,410 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 16:13:25,410 INFO L478 AbstractCegarLoop]: Abstraction has 109 states and 137 transitions. [2022-04-14 16:13:25,410 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 6.0) internal successors, (24), 4 states have internal predecessors, (24), 4 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-14 16:13:25,410 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 137 transitions. [2022-04-14 16:13:25,411 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-14 16:13:25,411 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 16:13:25,411 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 16:13:25,430 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-14 16:13:25,628 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable7 [2022-04-14 16:13:25,629 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 16:13:25,629 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 16:13:25,629 INFO L85 PathProgramCache]: Analyzing trace with hash 1915058849, now seen corresponding path program 1 times [2022-04-14 16:13:25,629 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 16:13:25,629 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1608454332] [2022-04-14 16:13:25,629 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:25,629 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 16:13:25,637 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 16:13:25,637 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1527005367] [2022-04-14 16:13:25,638 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:25,638 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 16:13:25,638 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 16:13:25,638 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 16:13:25,639 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-14 16:13:25,673 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:13:25,673 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-14 16:13:25,682 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:13:25,683 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 16:13:25,893 INFO L272 TraceCheckUtils]: 0: Hoare triple {3753#true} call ULTIMATE.init(); {3753#true} is VALID [2022-04-14 16:13:25,895 INFO L290 TraceCheckUtils]: 1: Hoare triple {3753#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3761#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:25,895 INFO L290 TraceCheckUtils]: 2: Hoare triple {3761#(<= ~counter~0 0)} assume true; {3761#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:25,895 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3761#(<= ~counter~0 0)} {3753#true} #102#return; {3761#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:25,895 INFO L272 TraceCheckUtils]: 4: Hoare triple {3761#(<= ~counter~0 0)} call #t~ret9 := main(); {3761#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:25,896 INFO L290 TraceCheckUtils]: 5: Hoare triple {3761#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {3761#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:25,898 INFO L272 TraceCheckUtils]: 6: Hoare triple {3761#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {3761#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:25,898 INFO L290 TraceCheckUtils]: 7: Hoare triple {3761#(<= ~counter~0 0)} ~cond := #in~cond; {3761#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:25,899 INFO L290 TraceCheckUtils]: 8: Hoare triple {3761#(<= ~counter~0 0)} assume !(0 == ~cond); {3761#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:25,899 INFO L290 TraceCheckUtils]: 9: Hoare triple {3761#(<= ~counter~0 0)} assume true; {3761#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:25,911 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3761#(<= ~counter~0 0)} {3761#(<= ~counter~0 0)} #90#return; {3761#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:25,912 INFO L272 TraceCheckUtils]: 11: Hoare triple {3761#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {3761#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:25,912 INFO L290 TraceCheckUtils]: 12: Hoare triple {3761#(<= ~counter~0 0)} ~cond := #in~cond; {3761#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:25,912 INFO L290 TraceCheckUtils]: 13: Hoare triple {3761#(<= ~counter~0 0)} assume !(0 == ~cond); {3761#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:25,912 INFO L290 TraceCheckUtils]: 14: Hoare triple {3761#(<= ~counter~0 0)} assume true; {3761#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:25,913 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3761#(<= ~counter~0 0)} {3761#(<= ~counter~0 0)} #92#return; {3761#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:25,913 INFO L290 TraceCheckUtils]: 16: Hoare triple {3761#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {3761#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:25,913 INFO L290 TraceCheckUtils]: 17: Hoare triple {3761#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3810#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:25,914 INFO L290 TraceCheckUtils]: 18: Hoare triple {3810#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {3810#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:25,914 INFO L272 TraceCheckUtils]: 19: Hoare triple {3810#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3810#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:25,914 INFO L290 TraceCheckUtils]: 20: Hoare triple {3810#(<= ~counter~0 1)} ~cond := #in~cond; {3810#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:25,914 INFO L290 TraceCheckUtils]: 21: Hoare triple {3810#(<= ~counter~0 1)} assume !(0 == ~cond); {3810#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:25,915 INFO L290 TraceCheckUtils]: 22: Hoare triple {3810#(<= ~counter~0 1)} assume true; {3810#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:25,915 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3810#(<= ~counter~0 1)} {3810#(<= ~counter~0 1)} #94#return; {3810#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:25,915 INFO L290 TraceCheckUtils]: 24: Hoare triple {3810#(<= ~counter~0 1)} assume !!(0 != ~r~0); {3810#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:25,916 INFO L290 TraceCheckUtils]: 25: Hoare triple {3810#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {3835#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:25,916 INFO L290 TraceCheckUtils]: 26: Hoare triple {3835#(<= ~counter~0 2)} assume !!(#t~post7 < 10);havoc #t~post7; {3835#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:25,916 INFO L272 TraceCheckUtils]: 27: Hoare triple {3835#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3835#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:25,916 INFO L290 TraceCheckUtils]: 28: Hoare triple {3835#(<= ~counter~0 2)} ~cond := #in~cond; {3835#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:25,917 INFO L290 TraceCheckUtils]: 29: Hoare triple {3835#(<= ~counter~0 2)} assume !(0 == ~cond); {3835#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:25,917 INFO L290 TraceCheckUtils]: 30: Hoare triple {3835#(<= ~counter~0 2)} assume true; {3835#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:25,917 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3835#(<= ~counter~0 2)} {3835#(<= ~counter~0 2)} #96#return; {3835#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:25,917 INFO L290 TraceCheckUtils]: 32: Hoare triple {3835#(<= ~counter~0 2)} assume !(~r~0 > 0); {3835#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:25,918 INFO L290 TraceCheckUtils]: 33: Hoare triple {3835#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {3860#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:25,918 INFO L290 TraceCheckUtils]: 34: Hoare triple {3860#(<= ~counter~0 3)} assume !!(#t~post8 < 10);havoc #t~post8; {3860#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:25,918 INFO L272 TraceCheckUtils]: 35: Hoare triple {3860#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3860#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:25,919 INFO L290 TraceCheckUtils]: 36: Hoare triple {3860#(<= ~counter~0 3)} ~cond := #in~cond; {3860#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:25,919 INFO L290 TraceCheckUtils]: 37: Hoare triple {3860#(<= ~counter~0 3)} assume !(0 == ~cond); {3860#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:25,919 INFO L290 TraceCheckUtils]: 38: Hoare triple {3860#(<= ~counter~0 3)} assume true; {3860#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:25,919 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3860#(<= ~counter~0 3)} {3860#(<= ~counter~0 3)} #98#return; {3860#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:25,920 INFO L290 TraceCheckUtils]: 40: Hoare triple {3860#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {3860#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:25,920 INFO L290 TraceCheckUtils]: 41: Hoare triple {3860#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {3885#(<= |main_#t~post8| 3)} is VALID [2022-04-14 16:13:25,920 INFO L290 TraceCheckUtils]: 42: Hoare triple {3885#(<= |main_#t~post8| 3)} assume !(#t~post8 < 10);havoc #t~post8; {3754#false} is VALID [2022-04-14 16:13:25,920 INFO L290 TraceCheckUtils]: 43: Hoare triple {3754#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3754#false} is VALID [2022-04-14 16:13:25,920 INFO L290 TraceCheckUtils]: 44: Hoare triple {3754#false} assume !(#t~post6 < 10);havoc #t~post6; {3754#false} is VALID [2022-04-14 16:13:25,920 INFO L272 TraceCheckUtils]: 45: Hoare triple {3754#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3754#false} is VALID [2022-04-14 16:13:25,920 INFO L290 TraceCheckUtils]: 46: Hoare triple {3754#false} ~cond := #in~cond; {3754#false} is VALID [2022-04-14 16:13:25,921 INFO L290 TraceCheckUtils]: 47: Hoare triple {3754#false} assume 0 == ~cond; {3754#false} is VALID [2022-04-14 16:13:25,921 INFO L290 TraceCheckUtils]: 48: Hoare triple {3754#false} assume !false; {3754#false} is VALID [2022-04-14 16:13:25,921 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 8 proven. 14 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 16:13:25,921 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 16:13:26,112 INFO L290 TraceCheckUtils]: 48: Hoare triple {3754#false} assume !false; {3754#false} is VALID [2022-04-14 16:13:26,112 INFO L290 TraceCheckUtils]: 47: Hoare triple {3754#false} assume 0 == ~cond; {3754#false} is VALID [2022-04-14 16:13:26,112 INFO L290 TraceCheckUtils]: 46: Hoare triple {3754#false} ~cond := #in~cond; {3754#false} is VALID [2022-04-14 16:13:26,112 INFO L272 TraceCheckUtils]: 45: Hoare triple {3754#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3754#false} is VALID [2022-04-14 16:13:26,112 INFO L290 TraceCheckUtils]: 44: Hoare triple {3754#false} assume !(#t~post6 < 10);havoc #t~post6; {3754#false} is VALID [2022-04-14 16:13:26,112 INFO L290 TraceCheckUtils]: 43: Hoare triple {3754#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3754#false} is VALID [2022-04-14 16:13:26,113 INFO L290 TraceCheckUtils]: 42: Hoare triple {3925#(< |main_#t~post8| 10)} assume !(#t~post8 < 10);havoc #t~post8; {3754#false} is VALID [2022-04-14 16:13:26,113 INFO L290 TraceCheckUtils]: 41: Hoare triple {3929#(< ~counter~0 10)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {3925#(< |main_#t~post8| 10)} is VALID [2022-04-14 16:13:26,113 INFO L290 TraceCheckUtils]: 40: Hoare triple {3929#(< ~counter~0 10)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {3929#(< ~counter~0 10)} is VALID [2022-04-14 16:13:26,114 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3753#true} {3929#(< ~counter~0 10)} #98#return; {3929#(< ~counter~0 10)} is VALID [2022-04-14 16:13:26,114 INFO L290 TraceCheckUtils]: 38: Hoare triple {3753#true} assume true; {3753#true} is VALID [2022-04-14 16:13:26,114 INFO L290 TraceCheckUtils]: 37: Hoare triple {3753#true} assume !(0 == ~cond); {3753#true} is VALID [2022-04-14 16:13:26,114 INFO L290 TraceCheckUtils]: 36: Hoare triple {3753#true} ~cond := #in~cond; {3753#true} is VALID [2022-04-14 16:13:26,114 INFO L272 TraceCheckUtils]: 35: Hoare triple {3929#(< ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3753#true} is VALID [2022-04-14 16:13:26,114 INFO L290 TraceCheckUtils]: 34: Hoare triple {3929#(< ~counter~0 10)} assume !!(#t~post8 < 10);havoc #t~post8; {3929#(< ~counter~0 10)} is VALID [2022-04-14 16:13:26,115 INFO L290 TraceCheckUtils]: 33: Hoare triple {3954#(< ~counter~0 9)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {3929#(< ~counter~0 10)} is VALID [2022-04-14 16:13:26,115 INFO L290 TraceCheckUtils]: 32: Hoare triple {3954#(< ~counter~0 9)} assume !(~r~0 > 0); {3954#(< ~counter~0 9)} is VALID [2022-04-14 16:13:26,116 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3753#true} {3954#(< ~counter~0 9)} #96#return; {3954#(< ~counter~0 9)} is VALID [2022-04-14 16:13:26,116 INFO L290 TraceCheckUtils]: 30: Hoare triple {3753#true} assume true; {3753#true} is VALID [2022-04-14 16:13:26,116 INFO L290 TraceCheckUtils]: 29: Hoare triple {3753#true} assume !(0 == ~cond); {3753#true} is VALID [2022-04-14 16:13:26,116 INFO L290 TraceCheckUtils]: 28: Hoare triple {3753#true} ~cond := #in~cond; {3753#true} is VALID [2022-04-14 16:13:26,116 INFO L272 TraceCheckUtils]: 27: Hoare triple {3954#(< ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3753#true} is VALID [2022-04-14 16:13:26,116 INFO L290 TraceCheckUtils]: 26: Hoare triple {3954#(< ~counter~0 9)} assume !!(#t~post7 < 10);havoc #t~post7; {3954#(< ~counter~0 9)} is VALID [2022-04-14 16:13:26,116 INFO L290 TraceCheckUtils]: 25: Hoare triple {3979#(< ~counter~0 8)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {3954#(< ~counter~0 9)} is VALID [2022-04-14 16:13:26,117 INFO L290 TraceCheckUtils]: 24: Hoare triple {3979#(< ~counter~0 8)} assume !!(0 != ~r~0); {3979#(< ~counter~0 8)} is VALID [2022-04-14 16:13:26,117 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3753#true} {3979#(< ~counter~0 8)} #94#return; {3979#(< ~counter~0 8)} is VALID [2022-04-14 16:13:26,117 INFO L290 TraceCheckUtils]: 22: Hoare triple {3753#true} assume true; {3753#true} is VALID [2022-04-14 16:13:26,117 INFO L290 TraceCheckUtils]: 21: Hoare triple {3753#true} assume !(0 == ~cond); {3753#true} is VALID [2022-04-14 16:13:26,117 INFO L290 TraceCheckUtils]: 20: Hoare triple {3753#true} ~cond := #in~cond; {3753#true} is VALID [2022-04-14 16:13:26,117 INFO L272 TraceCheckUtils]: 19: Hoare triple {3979#(< ~counter~0 8)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {3753#true} is VALID [2022-04-14 16:13:26,118 INFO L290 TraceCheckUtils]: 18: Hoare triple {3979#(< ~counter~0 8)} assume !!(#t~post6 < 10);havoc #t~post6; {3979#(< ~counter~0 8)} is VALID [2022-04-14 16:13:26,118 INFO L290 TraceCheckUtils]: 17: Hoare triple {4004#(< ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3979#(< ~counter~0 8)} is VALID [2022-04-14 16:13:26,118 INFO L290 TraceCheckUtils]: 16: Hoare triple {4004#(< ~counter~0 7)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {4004#(< ~counter~0 7)} is VALID [2022-04-14 16:13:26,118 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3753#true} {4004#(< ~counter~0 7)} #92#return; {4004#(< ~counter~0 7)} is VALID [2022-04-14 16:13:26,119 INFO L290 TraceCheckUtils]: 14: Hoare triple {3753#true} assume true; {3753#true} is VALID [2022-04-14 16:13:26,119 INFO L290 TraceCheckUtils]: 13: Hoare triple {3753#true} assume !(0 == ~cond); {3753#true} is VALID [2022-04-14 16:13:26,119 INFO L290 TraceCheckUtils]: 12: Hoare triple {3753#true} ~cond := #in~cond; {3753#true} is VALID [2022-04-14 16:13:26,119 INFO L272 TraceCheckUtils]: 11: Hoare triple {4004#(< ~counter~0 7)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {3753#true} is VALID [2022-04-14 16:13:26,119 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3753#true} {4004#(< ~counter~0 7)} #90#return; {4004#(< ~counter~0 7)} is VALID [2022-04-14 16:13:26,119 INFO L290 TraceCheckUtils]: 9: Hoare triple {3753#true} assume true; {3753#true} is VALID [2022-04-14 16:13:26,119 INFO L290 TraceCheckUtils]: 8: Hoare triple {3753#true} assume !(0 == ~cond); {3753#true} is VALID [2022-04-14 16:13:26,119 INFO L290 TraceCheckUtils]: 7: Hoare triple {3753#true} ~cond := #in~cond; {3753#true} is VALID [2022-04-14 16:13:26,119 INFO L272 TraceCheckUtils]: 6: Hoare triple {4004#(< ~counter~0 7)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {3753#true} is VALID [2022-04-14 16:13:26,119 INFO L290 TraceCheckUtils]: 5: Hoare triple {4004#(< ~counter~0 7)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {4004#(< ~counter~0 7)} is VALID [2022-04-14 16:13:26,120 INFO L272 TraceCheckUtils]: 4: Hoare triple {4004#(< ~counter~0 7)} call #t~ret9 := main(); {4004#(< ~counter~0 7)} is VALID [2022-04-14 16:13:26,120 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4004#(< ~counter~0 7)} {3753#true} #102#return; {4004#(< ~counter~0 7)} is VALID [2022-04-14 16:13:26,120 INFO L290 TraceCheckUtils]: 2: Hoare triple {4004#(< ~counter~0 7)} assume true; {4004#(< ~counter~0 7)} is VALID [2022-04-14 16:13:26,121 INFO L290 TraceCheckUtils]: 1: Hoare triple {3753#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4004#(< ~counter~0 7)} is VALID [2022-04-14 16:13:26,121 INFO L272 TraceCheckUtils]: 0: Hoare triple {3753#true} call ULTIMATE.init(); {3753#true} is VALID [2022-04-14 16:13:26,121 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-14 16:13:26,121 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 16:13:26,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1608454332] [2022-04-14 16:13:26,121 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 16:13:26,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1527005367] [2022-04-14 16:13:26,121 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1527005367] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 16:13:26,121 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 16:13:26,121 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-14 16:13:26,121 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1687279474] [2022-04-14 16:13:26,121 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 16:13:26,122 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 4.416666666666667) internal successors, (53), 12 states have internal predecessors, (53), 10 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 8 states have call predecessors, (12), 9 states have call successors, (12) Word has length 49 [2022-04-14 16:13:26,122 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 16:13:26,122 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 4.416666666666667) internal successors, (53), 12 states have internal predecessors, (53), 10 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 8 states have call predecessors, (12), 9 states have call successors, (12) [2022-04-14 16:13:26,170 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:26,170 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-14 16:13:26,170 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 16:13:26,170 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-14 16:13:26,170 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-14 16:13:26,170 INFO L87 Difference]: Start difference. First operand 109 states and 137 transitions. Second operand has 12 states, 12 states have (on average 4.416666666666667) internal successors, (53), 12 states have internal predecessors, (53), 10 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 8 states have call predecessors, (12), 9 states have call successors, (12) [2022-04-14 16:13:26,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:26,687 INFO L93 Difference]: Finished difference Result 219 states and 283 transitions. [2022-04-14 16:13:26,687 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-14 16:13:26,687 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 4.416666666666667) internal successors, (53), 12 states have internal predecessors, (53), 10 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 8 states have call predecessors, (12), 9 states have call successors, (12) Word has length 49 [2022-04-14 16:13:26,687 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 16:13:26,687 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 4.416666666666667) internal successors, (53), 12 states have internal predecessors, (53), 10 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 8 states have call predecessors, (12), 9 states have call successors, (12) [2022-04-14 16:13:26,689 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 194 transitions. [2022-04-14 16:13:26,689 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 4.416666666666667) internal successors, (53), 12 states have internal predecessors, (53), 10 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 8 states have call predecessors, (12), 9 states have call successors, (12) [2022-04-14 16:13:26,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 194 transitions. [2022-04-14 16:13:26,691 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 194 transitions. [2022-04-14 16:13:26,808 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 194 edges. 194 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:26,810 INFO L225 Difference]: With dead ends: 219 [2022-04-14 16:13:26,810 INFO L226 Difference]: Without dead ends: 172 [2022-04-14 16:13:26,811 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 102 GetRequests, 87 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=92, Invalid=180, Unknown=0, NotChecked=0, Total=272 [2022-04-14 16:13:26,811 INFO L913 BasicCegarLoop]: 51 mSDtfsCounter, 180 mSDsluCounter, 149 mSDsCounter, 0 mSdLazyCounter, 85 mSolverCounterSat, 96 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 180 SdHoareTripleChecker+Valid, 200 SdHoareTripleChecker+Invalid, 181 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 96 IncrementalHoareTripleChecker+Valid, 85 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-14 16:13:26,811 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [180 Valid, 200 Invalid, 181 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [96 Valid, 85 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-14 16:13:26,812 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 172 states. [2022-04-14 16:13:26,869 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 172 to 153. [2022-04-14 16:13:26,869 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 16:13:26,870 INFO L82 GeneralOperation]: Start isEquivalent. First operand 172 states. Second operand has 153 states, 112 states have (on average 1.2410714285714286) internal successors, (139), 113 states have internal predecessors, (139), 30 states have call successors, (30), 12 states have call predecessors, (30), 10 states have return successors, (28), 27 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-14 16:13:26,870 INFO L74 IsIncluded]: Start isIncluded. First operand 172 states. Second operand has 153 states, 112 states have (on average 1.2410714285714286) internal successors, (139), 113 states have internal predecessors, (139), 30 states have call successors, (30), 12 states have call predecessors, (30), 10 states have return successors, (28), 27 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-14 16:13:26,870 INFO L87 Difference]: Start difference. First operand 172 states. Second operand has 153 states, 112 states have (on average 1.2410714285714286) internal successors, (139), 113 states have internal predecessors, (139), 30 states have call successors, (30), 12 states have call predecessors, (30), 10 states have return successors, (28), 27 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-14 16:13:26,873 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:26,874 INFO L93 Difference]: Finished difference Result 172 states and 213 transitions. [2022-04-14 16:13:26,874 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 213 transitions. [2022-04-14 16:13:26,874 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:26,874 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:26,874 INFO L74 IsIncluded]: Start isIncluded. First operand has 153 states, 112 states have (on average 1.2410714285714286) internal successors, (139), 113 states have internal predecessors, (139), 30 states have call successors, (30), 12 states have call predecessors, (30), 10 states have return successors, (28), 27 states have call predecessors, (28), 28 states have call successors, (28) Second operand 172 states. [2022-04-14 16:13:26,874 INFO L87 Difference]: Start difference. First operand has 153 states, 112 states have (on average 1.2410714285714286) internal successors, (139), 113 states have internal predecessors, (139), 30 states have call successors, (30), 12 states have call predecessors, (30), 10 states have return successors, (28), 27 states have call predecessors, (28), 28 states have call successors, (28) Second operand 172 states. [2022-04-14 16:13:26,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:26,877 INFO L93 Difference]: Finished difference Result 172 states and 213 transitions. [2022-04-14 16:13:26,877 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 213 transitions. [2022-04-14 16:13:26,878 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:26,878 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:26,878 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 16:13:26,878 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 16:13:26,878 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 153 states, 112 states have (on average 1.2410714285714286) internal successors, (139), 113 states have internal predecessors, (139), 30 states have call successors, (30), 12 states have call predecessors, (30), 10 states have return successors, (28), 27 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-14 16:13:26,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 153 states to 153 states and 197 transitions. [2022-04-14 16:13:26,881 INFO L78 Accepts]: Start accepts. Automaton has 153 states and 197 transitions. Word has length 49 [2022-04-14 16:13:26,881 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 16:13:26,881 INFO L478 AbstractCegarLoop]: Abstraction has 153 states and 197 transitions. [2022-04-14 16:13:26,881 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 4.416666666666667) internal successors, (53), 12 states have internal predecessors, (53), 10 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 8 states have call predecessors, (12), 9 states have call successors, (12) [2022-04-14 16:13:26,881 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 197 transitions. [2022-04-14 16:13:26,881 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-14 16:13:26,881 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 16:13:26,882 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 16:13:26,899 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-14 16:13:27,095 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 16:13:27,095 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 16:13:27,096 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 16:13:27,096 INFO L85 PathProgramCache]: Analyzing trace with hash -1067781299, now seen corresponding path program 1 times [2022-04-14 16:13:27,096 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 16:13:27,096 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [926450597] [2022-04-14 16:13:27,096 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:27,096 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 16:13:27,111 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 16:13:27,111 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1603114006] [2022-04-14 16:13:27,112 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:27,112 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 16:13:27,112 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 16:13:27,112 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 16:13:27,116 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-14 16:13:27,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:13:27,150 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-14 16:13:27,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:13:27,160 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 16:13:27,417 INFO L272 TraceCheckUtils]: 0: Hoare triple {4930#true} call ULTIMATE.init(); {4930#true} is VALID [2022-04-14 16:13:27,417 INFO L290 TraceCheckUtils]: 1: Hoare triple {4930#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4938#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:27,417 INFO L290 TraceCheckUtils]: 2: Hoare triple {4938#(<= ~counter~0 0)} assume true; {4938#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:27,418 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4938#(<= ~counter~0 0)} {4930#true} #102#return; {4938#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:27,439 INFO L272 TraceCheckUtils]: 4: Hoare triple {4938#(<= ~counter~0 0)} call #t~ret9 := main(); {4938#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:27,440 INFO L290 TraceCheckUtils]: 5: Hoare triple {4938#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {4938#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:27,441 INFO L272 TraceCheckUtils]: 6: Hoare triple {4938#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {4938#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:27,441 INFO L290 TraceCheckUtils]: 7: Hoare triple {4938#(<= ~counter~0 0)} ~cond := #in~cond; {4938#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:27,441 INFO L290 TraceCheckUtils]: 8: Hoare triple {4938#(<= ~counter~0 0)} assume !(0 == ~cond); {4938#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:27,442 INFO L290 TraceCheckUtils]: 9: Hoare triple {4938#(<= ~counter~0 0)} assume true; {4938#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:27,442 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4938#(<= ~counter~0 0)} {4938#(<= ~counter~0 0)} #90#return; {4938#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:27,443 INFO L272 TraceCheckUtils]: 11: Hoare triple {4938#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {4938#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:27,443 INFO L290 TraceCheckUtils]: 12: Hoare triple {4938#(<= ~counter~0 0)} ~cond := #in~cond; {4938#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:27,444 INFO L290 TraceCheckUtils]: 13: Hoare triple {4938#(<= ~counter~0 0)} assume !(0 == ~cond); {4938#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:27,444 INFO L290 TraceCheckUtils]: 14: Hoare triple {4938#(<= ~counter~0 0)} assume true; {4938#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:27,445 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4938#(<= ~counter~0 0)} {4938#(<= ~counter~0 0)} #92#return; {4938#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:27,445 INFO L290 TraceCheckUtils]: 16: Hoare triple {4938#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {4938#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:27,446 INFO L290 TraceCheckUtils]: 17: Hoare triple {4938#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4987#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:27,446 INFO L290 TraceCheckUtils]: 18: Hoare triple {4987#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {4987#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:27,447 INFO L272 TraceCheckUtils]: 19: Hoare triple {4987#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {4987#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:27,447 INFO L290 TraceCheckUtils]: 20: Hoare triple {4987#(<= ~counter~0 1)} ~cond := #in~cond; {4987#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:27,447 INFO L290 TraceCheckUtils]: 21: Hoare triple {4987#(<= ~counter~0 1)} assume !(0 == ~cond); {4987#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:27,448 INFO L290 TraceCheckUtils]: 22: Hoare triple {4987#(<= ~counter~0 1)} assume true; {4987#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:27,449 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4987#(<= ~counter~0 1)} {4987#(<= ~counter~0 1)} #94#return; {4987#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:27,449 INFO L290 TraceCheckUtils]: 24: Hoare triple {4987#(<= ~counter~0 1)} assume !!(0 != ~r~0); {4987#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:27,450 INFO L290 TraceCheckUtils]: 25: Hoare triple {4987#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5012#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:27,450 INFO L290 TraceCheckUtils]: 26: Hoare triple {5012#(<= ~counter~0 2)} assume !!(#t~post7 < 10);havoc #t~post7; {5012#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:27,451 INFO L272 TraceCheckUtils]: 27: Hoare triple {5012#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {5012#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:27,453 INFO L290 TraceCheckUtils]: 28: Hoare triple {5012#(<= ~counter~0 2)} ~cond := #in~cond; {5012#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:27,453 INFO L290 TraceCheckUtils]: 29: Hoare triple {5012#(<= ~counter~0 2)} assume !(0 == ~cond); {5012#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:27,455 INFO L290 TraceCheckUtils]: 30: Hoare triple {5012#(<= ~counter~0 2)} assume true; {5012#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:27,455 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {5012#(<= ~counter~0 2)} {5012#(<= ~counter~0 2)} #96#return; {5012#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:27,456 INFO L290 TraceCheckUtils]: 32: Hoare triple {5012#(<= ~counter~0 2)} assume !(~r~0 > 0); {5012#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:27,456 INFO L290 TraceCheckUtils]: 33: Hoare triple {5012#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {5037#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:27,456 INFO L290 TraceCheckUtils]: 34: Hoare triple {5037#(<= ~counter~0 3)} assume !!(#t~post8 < 10);havoc #t~post8; {5037#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:27,457 INFO L272 TraceCheckUtils]: 35: Hoare triple {5037#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {5037#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:27,457 INFO L290 TraceCheckUtils]: 36: Hoare triple {5037#(<= ~counter~0 3)} ~cond := #in~cond; {5037#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:27,457 INFO L290 TraceCheckUtils]: 37: Hoare triple {5037#(<= ~counter~0 3)} assume !(0 == ~cond); {5037#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:27,458 INFO L290 TraceCheckUtils]: 38: Hoare triple {5037#(<= ~counter~0 3)} assume true; {5037#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:27,458 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {5037#(<= ~counter~0 3)} {5037#(<= ~counter~0 3)} #98#return; {5037#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:27,458 INFO L290 TraceCheckUtils]: 40: Hoare triple {5037#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {5037#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:27,459 INFO L290 TraceCheckUtils]: 41: Hoare triple {5037#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {5062#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:27,459 INFO L290 TraceCheckUtils]: 42: Hoare triple {5062#(<= ~counter~0 4)} assume !!(#t~post8 < 10);havoc #t~post8; {5062#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:27,460 INFO L272 TraceCheckUtils]: 43: Hoare triple {5062#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {5062#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:27,460 INFO L290 TraceCheckUtils]: 44: Hoare triple {5062#(<= ~counter~0 4)} ~cond := #in~cond; {5062#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:27,460 INFO L290 TraceCheckUtils]: 45: Hoare triple {5062#(<= ~counter~0 4)} assume !(0 == ~cond); {5062#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:27,460 INFO L290 TraceCheckUtils]: 46: Hoare triple {5062#(<= ~counter~0 4)} assume true; {5062#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:27,461 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {5062#(<= ~counter~0 4)} {5062#(<= ~counter~0 4)} #98#return; {5062#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:27,461 INFO L290 TraceCheckUtils]: 48: Hoare triple {5062#(<= ~counter~0 4)} assume !(~r~0 < 0); {5062#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:27,461 INFO L290 TraceCheckUtils]: 49: Hoare triple {5062#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5087#(<= |main_#t~post6| 4)} is VALID [2022-04-14 16:13:27,462 INFO L290 TraceCheckUtils]: 50: Hoare triple {5087#(<= |main_#t~post6| 4)} assume !(#t~post6 < 10);havoc #t~post6; {4931#false} is VALID [2022-04-14 16:13:27,462 INFO L272 TraceCheckUtils]: 51: Hoare triple {4931#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {4931#false} is VALID [2022-04-14 16:13:27,462 INFO L290 TraceCheckUtils]: 52: Hoare triple {4931#false} ~cond := #in~cond; {4931#false} is VALID [2022-04-14 16:13:27,462 INFO L290 TraceCheckUtils]: 53: Hoare triple {4931#false} assume 0 == ~cond; {4931#false} is VALID [2022-04-14 16:13:27,462 INFO L290 TraceCheckUtils]: 54: Hoare triple {4931#false} assume !false; {4931#false} is VALID [2022-04-14 16:13:27,462 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 8 proven. 30 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 16:13:27,462 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 16:13:27,714 INFO L290 TraceCheckUtils]: 54: Hoare triple {4931#false} assume !false; {4931#false} is VALID [2022-04-14 16:13:27,714 INFO L290 TraceCheckUtils]: 53: Hoare triple {4931#false} assume 0 == ~cond; {4931#false} is VALID [2022-04-14 16:13:27,714 INFO L290 TraceCheckUtils]: 52: Hoare triple {4931#false} ~cond := #in~cond; {4931#false} is VALID [2022-04-14 16:13:27,714 INFO L272 TraceCheckUtils]: 51: Hoare triple {4931#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {4931#false} is VALID [2022-04-14 16:13:27,718 INFO L290 TraceCheckUtils]: 50: Hoare triple {5115#(< |main_#t~post6| 10)} assume !(#t~post6 < 10);havoc #t~post6; {4931#false} is VALID [2022-04-14 16:13:27,718 INFO L290 TraceCheckUtils]: 49: Hoare triple {5119#(< ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5115#(< |main_#t~post6| 10)} is VALID [2022-04-14 16:13:27,719 INFO L290 TraceCheckUtils]: 48: Hoare triple {5119#(< ~counter~0 10)} assume !(~r~0 < 0); {5119#(< ~counter~0 10)} is VALID [2022-04-14 16:13:27,719 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {4930#true} {5119#(< ~counter~0 10)} #98#return; {5119#(< ~counter~0 10)} is VALID [2022-04-14 16:13:27,719 INFO L290 TraceCheckUtils]: 46: Hoare triple {4930#true} assume true; {4930#true} is VALID [2022-04-14 16:13:27,719 INFO L290 TraceCheckUtils]: 45: Hoare triple {4930#true} assume !(0 == ~cond); {4930#true} is VALID [2022-04-14 16:13:27,719 INFO L290 TraceCheckUtils]: 44: Hoare triple {4930#true} ~cond := #in~cond; {4930#true} is VALID [2022-04-14 16:13:27,719 INFO L272 TraceCheckUtils]: 43: Hoare triple {5119#(< ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {4930#true} is VALID [2022-04-14 16:13:27,720 INFO L290 TraceCheckUtils]: 42: Hoare triple {5119#(< ~counter~0 10)} assume !!(#t~post8 < 10);havoc #t~post8; {5119#(< ~counter~0 10)} is VALID [2022-04-14 16:13:27,720 INFO L290 TraceCheckUtils]: 41: Hoare triple {5144#(< ~counter~0 9)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {5119#(< ~counter~0 10)} is VALID [2022-04-14 16:13:27,720 INFO L290 TraceCheckUtils]: 40: Hoare triple {5144#(< ~counter~0 9)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {5144#(< ~counter~0 9)} is VALID [2022-04-14 16:13:27,721 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4930#true} {5144#(< ~counter~0 9)} #98#return; {5144#(< ~counter~0 9)} is VALID [2022-04-14 16:13:27,721 INFO L290 TraceCheckUtils]: 38: Hoare triple {4930#true} assume true; {4930#true} is VALID [2022-04-14 16:13:27,721 INFO L290 TraceCheckUtils]: 37: Hoare triple {4930#true} assume !(0 == ~cond); {4930#true} is VALID [2022-04-14 16:13:27,721 INFO L290 TraceCheckUtils]: 36: Hoare triple {4930#true} ~cond := #in~cond; {4930#true} is VALID [2022-04-14 16:13:27,721 INFO L272 TraceCheckUtils]: 35: Hoare triple {5144#(< ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {4930#true} is VALID [2022-04-14 16:13:27,722 INFO L290 TraceCheckUtils]: 34: Hoare triple {5144#(< ~counter~0 9)} assume !!(#t~post8 < 10);havoc #t~post8; {5144#(< ~counter~0 9)} is VALID [2022-04-14 16:13:27,722 INFO L290 TraceCheckUtils]: 33: Hoare triple {5169#(< ~counter~0 8)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {5144#(< ~counter~0 9)} is VALID [2022-04-14 16:13:27,722 INFO L290 TraceCheckUtils]: 32: Hoare triple {5169#(< ~counter~0 8)} assume !(~r~0 > 0); {5169#(< ~counter~0 8)} is VALID [2022-04-14 16:13:27,723 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {4930#true} {5169#(< ~counter~0 8)} #96#return; {5169#(< ~counter~0 8)} is VALID [2022-04-14 16:13:27,723 INFO L290 TraceCheckUtils]: 30: Hoare triple {4930#true} assume true; {4930#true} is VALID [2022-04-14 16:13:27,723 INFO L290 TraceCheckUtils]: 29: Hoare triple {4930#true} assume !(0 == ~cond); {4930#true} is VALID [2022-04-14 16:13:27,723 INFO L290 TraceCheckUtils]: 28: Hoare triple {4930#true} ~cond := #in~cond; {4930#true} is VALID [2022-04-14 16:13:27,723 INFO L272 TraceCheckUtils]: 27: Hoare triple {5169#(< ~counter~0 8)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {4930#true} is VALID [2022-04-14 16:13:27,724 INFO L290 TraceCheckUtils]: 26: Hoare triple {5169#(< ~counter~0 8)} assume !!(#t~post7 < 10);havoc #t~post7; {5169#(< ~counter~0 8)} is VALID [2022-04-14 16:13:27,725 INFO L290 TraceCheckUtils]: 25: Hoare triple {5194#(< ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5169#(< ~counter~0 8)} is VALID [2022-04-14 16:13:27,725 INFO L290 TraceCheckUtils]: 24: Hoare triple {5194#(< ~counter~0 7)} assume !!(0 != ~r~0); {5194#(< ~counter~0 7)} is VALID [2022-04-14 16:13:27,725 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4930#true} {5194#(< ~counter~0 7)} #94#return; {5194#(< ~counter~0 7)} is VALID [2022-04-14 16:13:27,725 INFO L290 TraceCheckUtils]: 22: Hoare triple {4930#true} assume true; {4930#true} is VALID [2022-04-14 16:13:27,725 INFO L290 TraceCheckUtils]: 21: Hoare triple {4930#true} assume !(0 == ~cond); {4930#true} is VALID [2022-04-14 16:13:27,725 INFO L290 TraceCheckUtils]: 20: Hoare triple {4930#true} ~cond := #in~cond; {4930#true} is VALID [2022-04-14 16:13:27,726 INFO L272 TraceCheckUtils]: 19: Hoare triple {5194#(< ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {4930#true} is VALID [2022-04-14 16:13:27,726 INFO L290 TraceCheckUtils]: 18: Hoare triple {5194#(< ~counter~0 7)} assume !!(#t~post6 < 10);havoc #t~post6; {5194#(< ~counter~0 7)} is VALID [2022-04-14 16:13:27,735 INFO L290 TraceCheckUtils]: 17: Hoare triple {5219#(< ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5194#(< ~counter~0 7)} is VALID [2022-04-14 16:13:27,736 INFO L290 TraceCheckUtils]: 16: Hoare triple {5219#(< ~counter~0 6)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {5219#(< ~counter~0 6)} is VALID [2022-04-14 16:13:27,736 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4930#true} {5219#(< ~counter~0 6)} #92#return; {5219#(< ~counter~0 6)} is VALID [2022-04-14 16:13:27,736 INFO L290 TraceCheckUtils]: 14: Hoare triple {4930#true} assume true; {4930#true} is VALID [2022-04-14 16:13:27,736 INFO L290 TraceCheckUtils]: 13: Hoare triple {4930#true} assume !(0 == ~cond); {4930#true} is VALID [2022-04-14 16:13:27,736 INFO L290 TraceCheckUtils]: 12: Hoare triple {4930#true} ~cond := #in~cond; {4930#true} is VALID [2022-04-14 16:13:27,736 INFO L272 TraceCheckUtils]: 11: Hoare triple {5219#(< ~counter~0 6)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {4930#true} is VALID [2022-04-14 16:13:27,737 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4930#true} {5219#(< ~counter~0 6)} #90#return; {5219#(< ~counter~0 6)} is VALID [2022-04-14 16:13:27,737 INFO L290 TraceCheckUtils]: 9: Hoare triple {4930#true} assume true; {4930#true} is VALID [2022-04-14 16:13:27,737 INFO L290 TraceCheckUtils]: 8: Hoare triple {4930#true} assume !(0 == ~cond); {4930#true} is VALID [2022-04-14 16:13:27,737 INFO L290 TraceCheckUtils]: 7: Hoare triple {4930#true} ~cond := #in~cond; {4930#true} is VALID [2022-04-14 16:13:27,737 INFO L272 TraceCheckUtils]: 6: Hoare triple {5219#(< ~counter~0 6)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {4930#true} is VALID [2022-04-14 16:13:27,737 INFO L290 TraceCheckUtils]: 5: Hoare triple {5219#(< ~counter~0 6)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {5219#(< ~counter~0 6)} is VALID [2022-04-14 16:13:27,738 INFO L272 TraceCheckUtils]: 4: Hoare triple {5219#(< ~counter~0 6)} call #t~ret9 := main(); {5219#(< ~counter~0 6)} is VALID [2022-04-14 16:13:27,738 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5219#(< ~counter~0 6)} {4930#true} #102#return; {5219#(< ~counter~0 6)} is VALID [2022-04-14 16:13:27,738 INFO L290 TraceCheckUtils]: 2: Hoare triple {5219#(< ~counter~0 6)} assume true; {5219#(< ~counter~0 6)} is VALID [2022-04-14 16:13:27,739 INFO L290 TraceCheckUtils]: 1: Hoare triple {4930#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5219#(< ~counter~0 6)} is VALID [2022-04-14 16:13:27,739 INFO L272 TraceCheckUtils]: 0: Hoare triple {4930#true} call ULTIMATE.init(); {4930#true} is VALID [2022-04-14 16:13:27,739 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 8 proven. 6 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-14 16:13:27,739 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 16:13:27,739 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [926450597] [2022-04-14 16:13:27,739 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 16:13:27,739 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1603114006] [2022-04-14 16:13:27,739 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1603114006] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 16:13:27,739 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 16:13:27,739 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-14 16:13:27,740 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1060075568] [2022-04-14 16:13:27,740 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 16:13:27,741 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 4.285714285714286) internal successors, (60), 14 states have internal predecessors, (60), 12 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 10 states have call predecessors, (14), 11 states have call successors, (14) Word has length 55 [2022-04-14 16:13:27,741 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 16:13:27,741 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 4.285714285714286) internal successors, (60), 14 states have internal predecessors, (60), 12 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 10 states have call predecessors, (14), 11 states have call successors, (14) [2022-04-14 16:13:27,799 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:27,800 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-14 16:13:27,800 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 16:13:27,800 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-14 16:13:27,800 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-14 16:13:27,800 INFO L87 Difference]: Start difference. First operand 153 states and 197 transitions. Second operand has 14 states, 14 states have (on average 4.285714285714286) internal successors, (60), 14 states have internal predecessors, (60), 12 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 10 states have call predecessors, (14), 11 states have call successors, (14) [2022-04-14 16:13:28,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:28,491 INFO L93 Difference]: Finished difference Result 211 states and 278 transitions. [2022-04-14 16:13:28,491 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-14 16:13:28,491 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 4.285714285714286) internal successors, (60), 14 states have internal predecessors, (60), 12 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 10 states have call predecessors, (14), 11 states have call successors, (14) Word has length 55 [2022-04-14 16:13:28,492 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 16:13:28,492 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 4.285714285714286) internal successors, (60), 14 states have internal predecessors, (60), 12 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 10 states have call predecessors, (14), 11 states have call successors, (14) [2022-04-14 16:13:28,494 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 204 transitions. [2022-04-14 16:13:28,494 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 4.285714285714286) internal successors, (60), 14 states have internal predecessors, (60), 12 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 10 states have call predecessors, (14), 11 states have call successors, (14) [2022-04-14 16:13:28,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 204 transitions. [2022-04-14 16:13:28,496 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 204 transitions. [2022-04-14 16:13:28,626 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 204 edges. 204 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:28,629 INFO L225 Difference]: With dead ends: 211 [2022-04-14 16:13:28,629 INFO L226 Difference]: Without dead ends: 206 [2022-04-14 16:13:28,629 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 115 GetRequests, 97 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=130, Invalid=250, Unknown=0, NotChecked=0, Total=380 [2022-04-14 16:13:28,630 INFO L913 BasicCegarLoop]: 57 mSDtfsCounter, 191 mSDsluCounter, 234 mSDsCounter, 0 mSdLazyCounter, 116 mSolverCounterSat, 115 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 191 SdHoareTripleChecker+Valid, 291 SdHoareTripleChecker+Invalid, 231 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 115 IncrementalHoareTripleChecker+Valid, 116 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-14 16:13:28,630 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [191 Valid, 291 Invalid, 231 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [115 Valid, 116 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-14 16:13:28,630 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 206 states. [2022-04-14 16:13:28,728 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 206 to 198. [2022-04-14 16:13:28,728 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 16:13:28,729 INFO L82 GeneralOperation]: Start isEquivalent. First operand 206 states. Second operand has 198 states, 145 states have (on average 1.2344827586206897) internal successors, (179), 149 states have internal predecessors, (179), 40 states have call successors, (40), 14 states have call predecessors, (40), 12 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-14 16:13:28,729 INFO L74 IsIncluded]: Start isIncluded. First operand 206 states. Second operand has 198 states, 145 states have (on average 1.2344827586206897) internal successors, (179), 149 states have internal predecessors, (179), 40 states have call successors, (40), 14 states have call predecessors, (40), 12 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-14 16:13:28,729 INFO L87 Difference]: Start difference. First operand 206 states. Second operand has 198 states, 145 states have (on average 1.2344827586206897) internal successors, (179), 149 states have internal predecessors, (179), 40 states have call successors, (40), 14 states have call predecessors, (40), 12 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-14 16:13:28,733 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:28,733 INFO L93 Difference]: Finished difference Result 206 states and 267 transitions. [2022-04-14 16:13:28,733 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 267 transitions. [2022-04-14 16:13:28,733 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:28,733 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:28,734 INFO L74 IsIncluded]: Start isIncluded. First operand has 198 states, 145 states have (on average 1.2344827586206897) internal successors, (179), 149 states have internal predecessors, (179), 40 states have call successors, (40), 14 states have call predecessors, (40), 12 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) Second operand 206 states. [2022-04-14 16:13:28,734 INFO L87 Difference]: Start difference. First operand has 198 states, 145 states have (on average 1.2344827586206897) internal successors, (179), 149 states have internal predecessors, (179), 40 states have call successors, (40), 14 states have call predecessors, (40), 12 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) Second operand 206 states. [2022-04-14 16:13:28,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:28,737 INFO L93 Difference]: Finished difference Result 206 states and 267 transitions. [2022-04-14 16:13:28,738 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 267 transitions. [2022-04-14 16:13:28,738 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:28,738 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:28,738 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 16:13:28,738 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 16:13:28,738 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 198 states, 145 states have (on average 1.2344827586206897) internal successors, (179), 149 states have internal predecessors, (179), 40 states have call successors, (40), 14 states have call predecessors, (40), 12 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-14 16:13:28,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 198 states to 198 states and 257 transitions. [2022-04-14 16:13:28,742 INFO L78 Accepts]: Start accepts. Automaton has 198 states and 257 transitions. Word has length 55 [2022-04-14 16:13:28,742 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 16:13:28,742 INFO L478 AbstractCegarLoop]: Abstraction has 198 states and 257 transitions. [2022-04-14 16:13:28,742 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 4.285714285714286) internal successors, (60), 14 states have internal predecessors, (60), 12 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 10 states have call predecessors, (14), 11 states have call successors, (14) [2022-04-14 16:13:28,742 INFO L276 IsEmpty]: Start isEmpty. Operand 198 states and 257 transitions. [2022-04-14 16:13:28,743 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-14 16:13:28,743 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 16:13:28,743 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 5, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 16:13:28,761 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-14 16:13:28,956 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-14 16:13:28,957 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 16:13:28,957 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 16:13:28,957 INFO L85 PathProgramCache]: Analyzing trace with hash -304792209, now seen corresponding path program 1 times [2022-04-14 16:13:28,957 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 16:13:28,957 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1108190942] [2022-04-14 16:13:28,957 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:28,957 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 16:13:28,969 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 16:13:28,969 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1868334698] [2022-04-14 16:13:28,969 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:28,970 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 16:13:28,970 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 16:13:28,970 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 16:13:28,971 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-14 16:13:29,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:13:29,018 INFO L263 TraceCheckSpWp]: Trace formula consists of 239 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-14 16:13:29,029 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:13:29,030 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 16:13:29,280 INFO L272 TraceCheckUtils]: 0: Hoare triple {6268#true} call ULTIMATE.init(); {6268#true} is VALID [2022-04-14 16:13:29,280 INFO L290 TraceCheckUtils]: 1: Hoare triple {6268#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6268#true} is VALID [2022-04-14 16:13:29,280 INFO L290 TraceCheckUtils]: 2: Hoare triple {6268#true} assume true; {6268#true} is VALID [2022-04-14 16:13:29,280 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6268#true} {6268#true} #102#return; {6268#true} is VALID [2022-04-14 16:13:29,280 INFO L272 TraceCheckUtils]: 4: Hoare triple {6268#true} call #t~ret9 := main(); {6268#true} is VALID [2022-04-14 16:13:29,280 INFO L290 TraceCheckUtils]: 5: Hoare triple {6268#true} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {6268#true} is VALID [2022-04-14 16:13:29,280 INFO L272 TraceCheckUtils]: 6: Hoare triple {6268#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {6268#true} is VALID [2022-04-14 16:13:29,280 INFO L290 TraceCheckUtils]: 7: Hoare triple {6268#true} ~cond := #in~cond; {6268#true} is VALID [2022-04-14 16:13:29,280 INFO L290 TraceCheckUtils]: 8: Hoare triple {6268#true} assume !(0 == ~cond); {6268#true} is VALID [2022-04-14 16:13:29,280 INFO L290 TraceCheckUtils]: 9: Hoare triple {6268#true} assume true; {6268#true} is VALID [2022-04-14 16:13:29,280 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6268#true} {6268#true} #90#return; {6268#true} is VALID [2022-04-14 16:13:29,280 INFO L272 TraceCheckUtils]: 11: Hoare triple {6268#true} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {6268#true} is VALID [2022-04-14 16:13:29,280 INFO L290 TraceCheckUtils]: 12: Hoare triple {6268#true} ~cond := #in~cond; {6268#true} is VALID [2022-04-14 16:13:29,280 INFO L290 TraceCheckUtils]: 13: Hoare triple {6268#true} assume !(0 == ~cond); {6268#true} is VALID [2022-04-14 16:13:29,281 INFO L290 TraceCheckUtils]: 14: Hoare triple {6268#true} assume true; {6268#true} is VALID [2022-04-14 16:13:29,281 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6268#true} {6268#true} #92#return; {6268#true} is VALID [2022-04-14 16:13:29,281 INFO L290 TraceCheckUtils]: 16: Hoare triple {6268#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,281 INFO L290 TraceCheckUtils]: 17: Hoare triple {6321#(<= main_~v~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,281 INFO L290 TraceCheckUtils]: 18: Hoare triple {6321#(<= main_~v~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,281 INFO L272 TraceCheckUtils]: 19: Hoare triple {6321#(<= main_~v~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6268#true} is VALID [2022-04-14 16:13:29,282 INFO L290 TraceCheckUtils]: 20: Hoare triple {6268#true} ~cond := #in~cond; {6268#true} is VALID [2022-04-14 16:13:29,282 INFO L290 TraceCheckUtils]: 21: Hoare triple {6268#true} assume !(0 == ~cond); {6268#true} is VALID [2022-04-14 16:13:29,282 INFO L290 TraceCheckUtils]: 22: Hoare triple {6268#true} assume true; {6268#true} is VALID [2022-04-14 16:13:29,282 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6268#true} {6321#(<= main_~v~0 1)} #94#return; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,282 INFO L290 TraceCheckUtils]: 24: Hoare triple {6321#(<= main_~v~0 1)} assume !!(0 != ~r~0); {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,283 INFO L290 TraceCheckUtils]: 25: Hoare triple {6321#(<= main_~v~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,283 INFO L290 TraceCheckUtils]: 26: Hoare triple {6321#(<= main_~v~0 1)} assume !!(#t~post7 < 10);havoc #t~post7; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,283 INFO L272 TraceCheckUtils]: 27: Hoare triple {6321#(<= main_~v~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6268#true} is VALID [2022-04-14 16:13:29,283 INFO L290 TraceCheckUtils]: 28: Hoare triple {6268#true} ~cond := #in~cond; {6268#true} is VALID [2022-04-14 16:13:29,283 INFO L290 TraceCheckUtils]: 29: Hoare triple {6268#true} assume !(0 == ~cond); {6268#true} is VALID [2022-04-14 16:13:29,283 INFO L290 TraceCheckUtils]: 30: Hoare triple {6268#true} assume true; {6268#true} is VALID [2022-04-14 16:13:29,283 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {6268#true} {6321#(<= main_~v~0 1)} #96#return; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,284 INFO L290 TraceCheckUtils]: 32: Hoare triple {6321#(<= main_~v~0 1)} assume !(~r~0 > 0); {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,284 INFO L290 TraceCheckUtils]: 33: Hoare triple {6321#(<= main_~v~0 1)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,284 INFO L290 TraceCheckUtils]: 34: Hoare triple {6321#(<= main_~v~0 1)} assume !!(#t~post8 < 10);havoc #t~post8; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,284 INFO L272 TraceCheckUtils]: 35: Hoare triple {6321#(<= main_~v~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6268#true} is VALID [2022-04-14 16:13:29,284 INFO L290 TraceCheckUtils]: 36: Hoare triple {6268#true} ~cond := #in~cond; {6268#true} is VALID [2022-04-14 16:13:29,284 INFO L290 TraceCheckUtils]: 37: Hoare triple {6268#true} assume !(0 == ~cond); {6268#true} is VALID [2022-04-14 16:13:29,285 INFO L290 TraceCheckUtils]: 38: Hoare triple {6268#true} assume true; {6268#true} is VALID [2022-04-14 16:13:29,286 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6268#true} {6321#(<= main_~v~0 1)} #98#return; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,286 INFO L290 TraceCheckUtils]: 40: Hoare triple {6321#(<= main_~v~0 1)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,286 INFO L290 TraceCheckUtils]: 41: Hoare triple {6321#(<= main_~v~0 1)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,286 INFO L290 TraceCheckUtils]: 42: Hoare triple {6321#(<= main_~v~0 1)} assume !!(#t~post8 < 10);havoc #t~post8; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,286 INFO L272 TraceCheckUtils]: 43: Hoare triple {6321#(<= main_~v~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6268#true} is VALID [2022-04-14 16:13:29,286 INFO L290 TraceCheckUtils]: 44: Hoare triple {6268#true} ~cond := #in~cond; {6268#true} is VALID [2022-04-14 16:13:29,286 INFO L290 TraceCheckUtils]: 45: Hoare triple {6268#true} assume !(0 == ~cond); {6268#true} is VALID [2022-04-14 16:13:29,286 INFO L290 TraceCheckUtils]: 46: Hoare triple {6268#true} assume true; {6268#true} is VALID [2022-04-14 16:13:29,287 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6268#true} {6321#(<= main_~v~0 1)} #98#return; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,287 INFO L290 TraceCheckUtils]: 48: Hoare triple {6321#(<= main_~v~0 1)} assume !(~r~0 < 0); {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,289 INFO L290 TraceCheckUtils]: 49: Hoare triple {6321#(<= main_~v~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,293 INFO L290 TraceCheckUtils]: 50: Hoare triple {6321#(<= main_~v~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,293 INFO L272 TraceCheckUtils]: 51: Hoare triple {6321#(<= main_~v~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6268#true} is VALID [2022-04-14 16:13:29,293 INFO L290 TraceCheckUtils]: 52: Hoare triple {6268#true} ~cond := #in~cond; {6268#true} is VALID [2022-04-14 16:13:29,293 INFO L290 TraceCheckUtils]: 53: Hoare triple {6268#true} assume !(0 == ~cond); {6268#true} is VALID [2022-04-14 16:13:29,293 INFO L290 TraceCheckUtils]: 54: Hoare triple {6268#true} assume true; {6268#true} is VALID [2022-04-14 16:13:29,294 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6268#true} {6321#(<= main_~v~0 1)} #94#return; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,294 INFO L290 TraceCheckUtils]: 56: Hoare triple {6321#(<= main_~v~0 1)} assume !!(0 != ~r~0); {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,294 INFO L290 TraceCheckUtils]: 57: Hoare triple {6321#(<= main_~v~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,295 INFO L290 TraceCheckUtils]: 58: Hoare triple {6321#(<= main_~v~0 1)} assume !!(#t~post7 < 10);havoc #t~post7; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,295 INFO L272 TraceCheckUtils]: 59: Hoare triple {6321#(<= main_~v~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6268#true} is VALID [2022-04-14 16:13:29,295 INFO L290 TraceCheckUtils]: 60: Hoare triple {6268#true} ~cond := #in~cond; {6268#true} is VALID [2022-04-14 16:13:29,295 INFO L290 TraceCheckUtils]: 61: Hoare triple {6268#true} assume !(0 == ~cond); {6268#true} is VALID [2022-04-14 16:13:29,295 INFO L290 TraceCheckUtils]: 62: Hoare triple {6268#true} assume true; {6268#true} is VALID [2022-04-14 16:13:29,295 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {6268#true} {6321#(<= main_~v~0 1)} #96#return; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,296 INFO L290 TraceCheckUtils]: 64: Hoare triple {6321#(<= main_~v~0 1)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6466#(< 0 (+ main_~r~0 1))} is VALID [2022-04-14 16:13:29,296 INFO L290 TraceCheckUtils]: 65: Hoare triple {6466#(< 0 (+ main_~r~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6466#(< 0 (+ main_~r~0 1))} is VALID [2022-04-14 16:13:29,296 INFO L290 TraceCheckUtils]: 66: Hoare triple {6466#(< 0 (+ main_~r~0 1))} assume !(#t~post7 < 10);havoc #t~post7; {6466#(< 0 (+ main_~r~0 1))} is VALID [2022-04-14 16:13:29,296 INFO L290 TraceCheckUtils]: 67: Hoare triple {6466#(< 0 (+ main_~r~0 1))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6466#(< 0 (+ main_~r~0 1))} is VALID [2022-04-14 16:13:29,296 INFO L290 TraceCheckUtils]: 68: Hoare triple {6466#(< 0 (+ main_~r~0 1))} assume !!(#t~post8 < 10);havoc #t~post8; {6466#(< 0 (+ main_~r~0 1))} is VALID [2022-04-14 16:13:29,297 INFO L272 TraceCheckUtils]: 69: Hoare triple {6466#(< 0 (+ main_~r~0 1))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6268#true} is VALID [2022-04-14 16:13:29,297 INFO L290 TraceCheckUtils]: 70: Hoare triple {6268#true} ~cond := #in~cond; {6268#true} is VALID [2022-04-14 16:13:29,297 INFO L290 TraceCheckUtils]: 71: Hoare triple {6268#true} assume !(0 == ~cond); {6268#true} is VALID [2022-04-14 16:13:29,297 INFO L290 TraceCheckUtils]: 72: Hoare triple {6268#true} assume true; {6268#true} is VALID [2022-04-14 16:13:29,297 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6268#true} {6466#(< 0 (+ main_~r~0 1))} #98#return; {6466#(< 0 (+ main_~r~0 1))} is VALID [2022-04-14 16:13:29,298 INFO L290 TraceCheckUtils]: 74: Hoare triple {6466#(< 0 (+ main_~r~0 1))} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {6269#false} is VALID [2022-04-14 16:13:29,300 INFO L290 TraceCheckUtils]: 75: Hoare triple {6269#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6269#false} is VALID [2022-04-14 16:13:29,300 INFO L290 TraceCheckUtils]: 76: Hoare triple {6269#false} assume !!(#t~post8 < 10);havoc #t~post8; {6269#false} is VALID [2022-04-14 16:13:29,300 INFO L272 TraceCheckUtils]: 77: Hoare triple {6269#false} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6269#false} is VALID [2022-04-14 16:13:29,300 INFO L290 TraceCheckUtils]: 78: Hoare triple {6269#false} ~cond := #in~cond; {6269#false} is VALID [2022-04-14 16:13:29,300 INFO L290 TraceCheckUtils]: 79: Hoare triple {6269#false} assume !(0 == ~cond); {6269#false} is VALID [2022-04-14 16:13:29,300 INFO L290 TraceCheckUtils]: 80: Hoare triple {6269#false} assume true; {6269#false} is VALID [2022-04-14 16:13:29,300 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {6269#false} {6269#false} #98#return; {6269#false} is VALID [2022-04-14 16:13:29,300 INFO L290 TraceCheckUtils]: 82: Hoare triple {6269#false} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {6269#false} is VALID [2022-04-14 16:13:29,300 INFO L290 TraceCheckUtils]: 83: Hoare triple {6269#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6269#false} is VALID [2022-04-14 16:13:29,300 INFO L290 TraceCheckUtils]: 84: Hoare triple {6269#false} assume !(#t~post8 < 10);havoc #t~post8; {6269#false} is VALID [2022-04-14 16:13:29,300 INFO L290 TraceCheckUtils]: 85: Hoare triple {6269#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6269#false} is VALID [2022-04-14 16:13:29,300 INFO L290 TraceCheckUtils]: 86: Hoare triple {6269#false} assume !(#t~post6 < 10);havoc #t~post6; {6269#false} is VALID [2022-04-14 16:13:29,300 INFO L272 TraceCheckUtils]: 87: Hoare triple {6269#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6269#false} is VALID [2022-04-14 16:13:29,300 INFO L290 TraceCheckUtils]: 88: Hoare triple {6269#false} ~cond := #in~cond; {6269#false} is VALID [2022-04-14 16:13:29,300 INFO L290 TraceCheckUtils]: 89: Hoare triple {6269#false} assume 0 == ~cond; {6269#false} is VALID [2022-04-14 16:13:29,301 INFO L290 TraceCheckUtils]: 90: Hoare triple {6269#false} assume !false; {6269#false} is VALID [2022-04-14 16:13:29,301 INFO L134 CoverageAnalysis]: Checked inductivity of 180 backedges. 64 proven. 12 refuted. 0 times theorem prover too weak. 104 trivial. 0 not checked. [2022-04-14 16:13:29,301 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 16:13:29,523 INFO L290 TraceCheckUtils]: 90: Hoare triple {6269#false} assume !false; {6269#false} is VALID [2022-04-14 16:13:29,523 INFO L290 TraceCheckUtils]: 89: Hoare triple {6269#false} assume 0 == ~cond; {6269#false} is VALID [2022-04-14 16:13:29,523 INFO L290 TraceCheckUtils]: 88: Hoare triple {6269#false} ~cond := #in~cond; {6269#false} is VALID [2022-04-14 16:13:29,523 INFO L272 TraceCheckUtils]: 87: Hoare triple {6269#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6269#false} is VALID [2022-04-14 16:13:29,523 INFO L290 TraceCheckUtils]: 86: Hoare triple {6269#false} assume !(#t~post6 < 10);havoc #t~post6; {6269#false} is VALID [2022-04-14 16:13:29,523 INFO L290 TraceCheckUtils]: 85: Hoare triple {6269#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6269#false} is VALID [2022-04-14 16:13:29,523 INFO L290 TraceCheckUtils]: 84: Hoare triple {6269#false} assume !(#t~post8 < 10);havoc #t~post8; {6269#false} is VALID [2022-04-14 16:13:29,524 INFO L290 TraceCheckUtils]: 83: Hoare triple {6269#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6269#false} is VALID [2022-04-14 16:13:29,524 INFO L290 TraceCheckUtils]: 82: Hoare triple {6269#false} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {6269#false} is VALID [2022-04-14 16:13:29,524 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {6268#true} {6269#false} #98#return; {6269#false} is VALID [2022-04-14 16:13:29,524 INFO L290 TraceCheckUtils]: 80: Hoare triple {6268#true} assume true; {6268#true} is VALID [2022-04-14 16:13:29,524 INFO L290 TraceCheckUtils]: 79: Hoare triple {6268#true} assume !(0 == ~cond); {6268#true} is VALID [2022-04-14 16:13:29,524 INFO L290 TraceCheckUtils]: 78: Hoare triple {6268#true} ~cond := #in~cond; {6268#true} is VALID [2022-04-14 16:13:29,524 INFO L272 TraceCheckUtils]: 77: Hoare triple {6269#false} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6268#true} is VALID [2022-04-14 16:13:29,524 INFO L290 TraceCheckUtils]: 76: Hoare triple {6269#false} assume !!(#t~post8 < 10);havoc #t~post8; {6269#false} is VALID [2022-04-14 16:13:29,524 INFO L290 TraceCheckUtils]: 75: Hoare triple {6269#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6269#false} is VALID [2022-04-14 16:13:29,525 INFO L290 TraceCheckUtils]: 74: Hoare triple {6466#(< 0 (+ main_~r~0 1))} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {6269#false} is VALID [2022-04-14 16:13:29,525 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6268#true} {6466#(< 0 (+ main_~r~0 1))} #98#return; {6466#(< 0 (+ main_~r~0 1))} is VALID [2022-04-14 16:13:29,525 INFO L290 TraceCheckUtils]: 72: Hoare triple {6268#true} assume true; {6268#true} is VALID [2022-04-14 16:13:29,525 INFO L290 TraceCheckUtils]: 71: Hoare triple {6268#true} assume !(0 == ~cond); {6268#true} is VALID [2022-04-14 16:13:29,525 INFO L290 TraceCheckUtils]: 70: Hoare triple {6268#true} ~cond := #in~cond; {6268#true} is VALID [2022-04-14 16:13:29,525 INFO L272 TraceCheckUtils]: 69: Hoare triple {6466#(< 0 (+ main_~r~0 1))} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6268#true} is VALID [2022-04-14 16:13:29,525 INFO L290 TraceCheckUtils]: 68: Hoare triple {6466#(< 0 (+ main_~r~0 1))} assume !!(#t~post8 < 10);havoc #t~post8; {6466#(< 0 (+ main_~r~0 1))} is VALID [2022-04-14 16:13:29,526 INFO L290 TraceCheckUtils]: 67: Hoare triple {6466#(< 0 (+ main_~r~0 1))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6466#(< 0 (+ main_~r~0 1))} is VALID [2022-04-14 16:13:29,526 INFO L290 TraceCheckUtils]: 66: Hoare triple {6466#(< 0 (+ main_~r~0 1))} assume !(#t~post7 < 10);havoc #t~post7; {6466#(< 0 (+ main_~r~0 1))} is VALID [2022-04-14 16:13:29,526 INFO L290 TraceCheckUtils]: 65: Hoare triple {6466#(< 0 (+ main_~r~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6466#(< 0 (+ main_~r~0 1))} is VALID [2022-04-14 16:13:29,526 INFO L290 TraceCheckUtils]: 64: Hoare triple {6321#(<= main_~v~0 1)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6466#(< 0 (+ main_~r~0 1))} is VALID [2022-04-14 16:13:29,527 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {6268#true} {6321#(<= main_~v~0 1)} #96#return; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,527 INFO L290 TraceCheckUtils]: 62: Hoare triple {6268#true} assume true; {6268#true} is VALID [2022-04-14 16:13:29,538 INFO L290 TraceCheckUtils]: 61: Hoare triple {6268#true} assume !(0 == ~cond); {6268#true} is VALID [2022-04-14 16:13:29,538 INFO L290 TraceCheckUtils]: 60: Hoare triple {6268#true} ~cond := #in~cond; {6268#true} is VALID [2022-04-14 16:13:29,538 INFO L272 TraceCheckUtils]: 59: Hoare triple {6321#(<= main_~v~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6268#true} is VALID [2022-04-14 16:13:29,539 INFO L290 TraceCheckUtils]: 58: Hoare triple {6321#(<= main_~v~0 1)} assume !!(#t~post7 < 10);havoc #t~post7; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,539 INFO L290 TraceCheckUtils]: 57: Hoare triple {6321#(<= main_~v~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,540 INFO L290 TraceCheckUtils]: 56: Hoare triple {6321#(<= main_~v~0 1)} assume !!(0 != ~r~0); {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,540 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6268#true} {6321#(<= main_~v~0 1)} #94#return; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,540 INFO L290 TraceCheckUtils]: 54: Hoare triple {6268#true} assume true; {6268#true} is VALID [2022-04-14 16:13:29,540 INFO L290 TraceCheckUtils]: 53: Hoare triple {6268#true} assume !(0 == ~cond); {6268#true} is VALID [2022-04-14 16:13:29,540 INFO L290 TraceCheckUtils]: 52: Hoare triple {6268#true} ~cond := #in~cond; {6268#true} is VALID [2022-04-14 16:13:29,540 INFO L272 TraceCheckUtils]: 51: Hoare triple {6321#(<= main_~v~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6268#true} is VALID [2022-04-14 16:13:29,540 INFO L290 TraceCheckUtils]: 50: Hoare triple {6321#(<= main_~v~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,541 INFO L290 TraceCheckUtils]: 49: Hoare triple {6321#(<= main_~v~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,541 INFO L290 TraceCheckUtils]: 48: Hoare triple {6321#(<= main_~v~0 1)} assume !(~r~0 < 0); {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,541 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6268#true} {6321#(<= main_~v~0 1)} #98#return; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,541 INFO L290 TraceCheckUtils]: 46: Hoare triple {6268#true} assume true; {6268#true} is VALID [2022-04-14 16:13:29,541 INFO L290 TraceCheckUtils]: 45: Hoare triple {6268#true} assume !(0 == ~cond); {6268#true} is VALID [2022-04-14 16:13:29,541 INFO L290 TraceCheckUtils]: 44: Hoare triple {6268#true} ~cond := #in~cond; {6268#true} is VALID [2022-04-14 16:13:29,541 INFO L272 TraceCheckUtils]: 43: Hoare triple {6321#(<= main_~v~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6268#true} is VALID [2022-04-14 16:13:29,542 INFO L290 TraceCheckUtils]: 42: Hoare triple {6321#(<= main_~v~0 1)} assume !!(#t~post8 < 10);havoc #t~post8; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,542 INFO L290 TraceCheckUtils]: 41: Hoare triple {6321#(<= main_~v~0 1)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,542 INFO L290 TraceCheckUtils]: 40: Hoare triple {6321#(<= main_~v~0 1)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,542 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6268#true} {6321#(<= main_~v~0 1)} #98#return; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,542 INFO L290 TraceCheckUtils]: 38: Hoare triple {6268#true} assume true; {6268#true} is VALID [2022-04-14 16:13:29,543 INFO L290 TraceCheckUtils]: 37: Hoare triple {6268#true} assume !(0 == ~cond); {6268#true} is VALID [2022-04-14 16:13:29,543 INFO L290 TraceCheckUtils]: 36: Hoare triple {6268#true} ~cond := #in~cond; {6268#true} is VALID [2022-04-14 16:13:29,543 INFO L272 TraceCheckUtils]: 35: Hoare triple {6321#(<= main_~v~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6268#true} is VALID [2022-04-14 16:13:29,543 INFO L290 TraceCheckUtils]: 34: Hoare triple {6321#(<= main_~v~0 1)} assume !!(#t~post8 < 10);havoc #t~post8; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,543 INFO L290 TraceCheckUtils]: 33: Hoare triple {6321#(<= main_~v~0 1)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,544 INFO L290 TraceCheckUtils]: 32: Hoare triple {6321#(<= main_~v~0 1)} assume !(~r~0 > 0); {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,544 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {6268#true} {6321#(<= main_~v~0 1)} #96#return; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,544 INFO L290 TraceCheckUtils]: 30: Hoare triple {6268#true} assume true; {6268#true} is VALID [2022-04-14 16:13:29,544 INFO L290 TraceCheckUtils]: 29: Hoare triple {6268#true} assume !(0 == ~cond); {6268#true} is VALID [2022-04-14 16:13:29,544 INFO L290 TraceCheckUtils]: 28: Hoare triple {6268#true} ~cond := #in~cond; {6268#true} is VALID [2022-04-14 16:13:29,544 INFO L272 TraceCheckUtils]: 27: Hoare triple {6321#(<= main_~v~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6268#true} is VALID [2022-04-14 16:13:29,545 INFO L290 TraceCheckUtils]: 26: Hoare triple {6321#(<= main_~v~0 1)} assume !!(#t~post7 < 10);havoc #t~post7; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,545 INFO L290 TraceCheckUtils]: 25: Hoare triple {6321#(<= main_~v~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,545 INFO L290 TraceCheckUtils]: 24: Hoare triple {6321#(<= main_~v~0 1)} assume !!(0 != ~r~0); {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,546 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6268#true} {6321#(<= main_~v~0 1)} #94#return; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,546 INFO L290 TraceCheckUtils]: 22: Hoare triple {6268#true} assume true; {6268#true} is VALID [2022-04-14 16:13:29,546 INFO L290 TraceCheckUtils]: 21: Hoare triple {6268#true} assume !(0 == ~cond); {6268#true} is VALID [2022-04-14 16:13:29,546 INFO L290 TraceCheckUtils]: 20: Hoare triple {6268#true} ~cond := #in~cond; {6268#true} is VALID [2022-04-14 16:13:29,546 INFO L272 TraceCheckUtils]: 19: Hoare triple {6321#(<= main_~v~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {6268#true} is VALID [2022-04-14 16:13:29,546 INFO L290 TraceCheckUtils]: 18: Hoare triple {6321#(<= main_~v~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,546 INFO L290 TraceCheckUtils]: 17: Hoare triple {6321#(<= main_~v~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,547 INFO L290 TraceCheckUtils]: 16: Hoare triple {6268#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {6321#(<= main_~v~0 1)} is VALID [2022-04-14 16:13:29,547 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6268#true} {6268#true} #92#return; {6268#true} is VALID [2022-04-14 16:13:29,547 INFO L290 TraceCheckUtils]: 14: Hoare triple {6268#true} assume true; {6268#true} is VALID [2022-04-14 16:13:29,547 INFO L290 TraceCheckUtils]: 13: Hoare triple {6268#true} assume !(0 == ~cond); {6268#true} is VALID [2022-04-14 16:13:29,547 INFO L290 TraceCheckUtils]: 12: Hoare triple {6268#true} ~cond := #in~cond; {6268#true} is VALID [2022-04-14 16:13:29,547 INFO L272 TraceCheckUtils]: 11: Hoare triple {6268#true} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {6268#true} is VALID [2022-04-14 16:13:29,547 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6268#true} {6268#true} #90#return; {6268#true} is VALID [2022-04-14 16:13:29,547 INFO L290 TraceCheckUtils]: 9: Hoare triple {6268#true} assume true; {6268#true} is VALID [2022-04-14 16:13:29,547 INFO L290 TraceCheckUtils]: 8: Hoare triple {6268#true} assume !(0 == ~cond); {6268#true} is VALID [2022-04-14 16:13:29,547 INFO L290 TraceCheckUtils]: 7: Hoare triple {6268#true} ~cond := #in~cond; {6268#true} is VALID [2022-04-14 16:13:29,547 INFO L272 TraceCheckUtils]: 6: Hoare triple {6268#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {6268#true} is VALID [2022-04-14 16:13:29,547 INFO L290 TraceCheckUtils]: 5: Hoare triple {6268#true} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {6268#true} is VALID [2022-04-14 16:13:29,547 INFO L272 TraceCheckUtils]: 4: Hoare triple {6268#true} call #t~ret9 := main(); {6268#true} is VALID [2022-04-14 16:13:29,547 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6268#true} {6268#true} #102#return; {6268#true} is VALID [2022-04-14 16:13:29,547 INFO L290 TraceCheckUtils]: 2: Hoare triple {6268#true} assume true; {6268#true} is VALID [2022-04-14 16:13:29,547 INFO L290 TraceCheckUtils]: 1: Hoare triple {6268#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6268#true} is VALID [2022-04-14 16:13:29,547 INFO L272 TraceCheckUtils]: 0: Hoare triple {6268#true} call ULTIMATE.init(); {6268#true} is VALID [2022-04-14 16:13:29,548 INFO L134 CoverageAnalysis]: Checked inductivity of 180 backedges. 38 proven. 12 refuted. 0 times theorem prover too weak. 130 trivial. 0 not checked. [2022-04-14 16:13:29,548 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 16:13:29,548 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1108190942] [2022-04-14 16:13:29,548 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 16:13:29,548 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1868334698] [2022-04-14 16:13:29,548 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1868334698] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 16:13:29,548 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 16:13:29,548 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 4 [2022-04-14 16:13:29,548 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [500552588] [2022-04-14 16:13:29,548 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 16:13:29,549 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 9.25) internal successors, (37), 4 states have internal predecessors, (37), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 91 [2022-04-14 16:13:29,549 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 16:13:29,549 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 9.25) internal successors, (37), 4 states have internal predecessors, (37), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-14 16:13:29,580 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:29,580 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-14 16:13:29,580 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 16:13:29,581 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-14 16:13:29,581 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-14 16:13:29,581 INFO L87 Difference]: Start difference. First operand 198 states and 257 transitions. Second operand has 4 states, 4 states have (on average 9.25) internal successors, (37), 4 states have internal predecessors, (37), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-14 16:13:29,958 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:29,958 INFO L93 Difference]: Finished difference Result 502 states and 697 transitions. [2022-04-14 16:13:29,958 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-14 16:13:29,958 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 9.25) internal successors, (37), 4 states have internal predecessors, (37), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 91 [2022-04-14 16:13:29,958 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 16:13:29,958 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 9.25) internal successors, (37), 4 states have internal predecessors, (37), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-14 16:13:29,960 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 129 transitions. [2022-04-14 16:13:29,960 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 9.25) internal successors, (37), 4 states have internal predecessors, (37), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-14 16:13:29,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 129 transitions. [2022-04-14 16:13:29,961 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 129 transitions. [2022-04-14 16:13:30,041 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:30,048 INFO L225 Difference]: With dead ends: 502 [2022-04-14 16:13:30,048 INFO L226 Difference]: Without dead ends: 359 [2022-04-14 16:13:30,049 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 182 GetRequests, 178 SyntacticMatches, 1 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-04-14 16:13:30,049 INFO L913 BasicCegarLoop]: 70 mSDtfsCounter, 17 mSDsluCounter, 71 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 46 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 42 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 16:13:30,049 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 141 Invalid, 46 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 16:13:30,050 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 359 states. [2022-04-14 16:13:30,190 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 359 to 342. [2022-04-14 16:13:30,190 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 16:13:30,190 INFO L82 GeneralOperation]: Start isEquivalent. First operand 359 states. Second operand has 342 states, 255 states have (on average 1.2666666666666666) internal successors, (323), 261 states have internal predecessors, (323), 74 states have call successors, (74), 14 states have call predecessors, (74), 12 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-14 16:13:30,191 INFO L74 IsIncluded]: Start isIncluded. First operand 359 states. Second operand has 342 states, 255 states have (on average 1.2666666666666666) internal successors, (323), 261 states have internal predecessors, (323), 74 states have call successors, (74), 14 states have call predecessors, (74), 12 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-14 16:13:30,191 INFO L87 Difference]: Start difference. First operand 359 states. Second operand has 342 states, 255 states have (on average 1.2666666666666666) internal successors, (323), 261 states have internal predecessors, (323), 74 states have call successors, (74), 14 states have call predecessors, (74), 12 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-14 16:13:30,198 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:30,198 INFO L93 Difference]: Finished difference Result 359 states and 490 transitions. [2022-04-14 16:13:30,198 INFO L276 IsEmpty]: Start isEmpty. Operand 359 states and 490 transitions. [2022-04-14 16:13:30,199 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:30,199 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:30,200 INFO L74 IsIncluded]: Start isIncluded. First operand has 342 states, 255 states have (on average 1.2666666666666666) internal successors, (323), 261 states have internal predecessors, (323), 74 states have call successors, (74), 14 states have call predecessors, (74), 12 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) Second operand 359 states. [2022-04-14 16:13:30,200 INFO L87 Difference]: Start difference. First operand has 342 states, 255 states have (on average 1.2666666666666666) internal successors, (323), 261 states have internal predecessors, (323), 74 states have call successors, (74), 14 states have call predecessors, (74), 12 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) Second operand 359 states. [2022-04-14 16:13:30,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:30,207 INFO L93 Difference]: Finished difference Result 359 states and 490 transitions. [2022-04-14 16:13:30,207 INFO L276 IsEmpty]: Start isEmpty. Operand 359 states and 490 transitions. [2022-04-14 16:13:30,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:30,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:30,208 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 16:13:30,208 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 16:13:30,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 342 states, 255 states have (on average 1.2666666666666666) internal successors, (323), 261 states have internal predecessors, (323), 74 states have call successors, (74), 14 states have call predecessors, (74), 12 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-14 16:13:30,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 342 states to 342 states and 469 transitions. [2022-04-14 16:13:30,216 INFO L78 Accepts]: Start accepts. Automaton has 342 states and 469 transitions. Word has length 91 [2022-04-14 16:13:30,216 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 16:13:30,216 INFO L478 AbstractCegarLoop]: Abstraction has 342 states and 469 transitions. [2022-04-14 16:13:30,216 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 9.25) internal successors, (37), 4 states have internal predecessors, (37), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-14 16:13:30,217 INFO L276 IsEmpty]: Start isEmpty. Operand 342 states and 469 transitions. [2022-04-14 16:13:30,217 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-14 16:13:30,217 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 16:13:30,217 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 16:13:30,236 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-14 16:13:30,431 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-14 16:13:30,431 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 16:13:30,432 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 16:13:30,432 INFO L85 PathProgramCache]: Analyzing trace with hash 1103092705, now seen corresponding path program 2 times [2022-04-14 16:13:30,432 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 16:13:30,432 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [183816309] [2022-04-14 16:13:30,432 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:30,432 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 16:13:30,443 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 16:13:30,443 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1191641844] [2022-04-14 16:13:30,443 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-14 16:13:30,443 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 16:13:30,443 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 16:13:30,444 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 16:13:30,445 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-14 16:13:30,491 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-14 16:13:30,491 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 16:13:30,492 INFO L263 TraceCheckSpWp]: Trace formula consists of 239 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-14 16:13:30,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:13:30,508 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 16:13:30,863 INFO L272 TraceCheckUtils]: 0: Hoare triple {8722#true} call ULTIMATE.init(); {8722#true} is VALID [2022-04-14 16:13:30,864 INFO L290 TraceCheckUtils]: 1: Hoare triple {8722#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8730#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:30,864 INFO L290 TraceCheckUtils]: 2: Hoare triple {8730#(<= ~counter~0 0)} assume true; {8730#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:30,864 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8730#(<= ~counter~0 0)} {8722#true} #102#return; {8730#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:30,865 INFO L272 TraceCheckUtils]: 4: Hoare triple {8730#(<= ~counter~0 0)} call #t~ret9 := main(); {8730#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:30,865 INFO L290 TraceCheckUtils]: 5: Hoare triple {8730#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {8730#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:30,865 INFO L272 TraceCheckUtils]: 6: Hoare triple {8730#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {8730#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:30,865 INFO L290 TraceCheckUtils]: 7: Hoare triple {8730#(<= ~counter~0 0)} ~cond := #in~cond; {8730#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:30,866 INFO L290 TraceCheckUtils]: 8: Hoare triple {8730#(<= ~counter~0 0)} assume !(0 == ~cond); {8730#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:30,866 INFO L290 TraceCheckUtils]: 9: Hoare triple {8730#(<= ~counter~0 0)} assume true; {8730#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:30,866 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8730#(<= ~counter~0 0)} {8730#(<= ~counter~0 0)} #90#return; {8730#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:30,867 INFO L272 TraceCheckUtils]: 11: Hoare triple {8730#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {8730#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:30,867 INFO L290 TraceCheckUtils]: 12: Hoare triple {8730#(<= ~counter~0 0)} ~cond := #in~cond; {8730#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:30,867 INFO L290 TraceCheckUtils]: 13: Hoare triple {8730#(<= ~counter~0 0)} assume !(0 == ~cond); {8730#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:30,867 INFO L290 TraceCheckUtils]: 14: Hoare triple {8730#(<= ~counter~0 0)} assume true; {8730#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:30,868 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8730#(<= ~counter~0 0)} {8730#(<= ~counter~0 0)} #92#return; {8730#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:30,868 INFO L290 TraceCheckUtils]: 16: Hoare triple {8730#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {8730#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:30,868 INFO L290 TraceCheckUtils]: 17: Hoare triple {8730#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8779#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:30,869 INFO L290 TraceCheckUtils]: 18: Hoare triple {8779#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {8779#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:30,869 INFO L272 TraceCheckUtils]: 19: Hoare triple {8779#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8779#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:30,869 INFO L290 TraceCheckUtils]: 20: Hoare triple {8779#(<= ~counter~0 1)} ~cond := #in~cond; {8779#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:30,870 INFO L290 TraceCheckUtils]: 21: Hoare triple {8779#(<= ~counter~0 1)} assume !(0 == ~cond); {8779#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:30,870 INFO L290 TraceCheckUtils]: 22: Hoare triple {8779#(<= ~counter~0 1)} assume true; {8779#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:30,870 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8779#(<= ~counter~0 1)} {8779#(<= ~counter~0 1)} #94#return; {8779#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:30,870 INFO L290 TraceCheckUtils]: 24: Hoare triple {8779#(<= ~counter~0 1)} assume !!(0 != ~r~0); {8779#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:30,871 INFO L290 TraceCheckUtils]: 25: Hoare triple {8779#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8804#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:30,871 INFO L290 TraceCheckUtils]: 26: Hoare triple {8804#(<= ~counter~0 2)} assume !!(#t~post7 < 10);havoc #t~post7; {8804#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:30,872 INFO L272 TraceCheckUtils]: 27: Hoare triple {8804#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8804#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:30,872 INFO L290 TraceCheckUtils]: 28: Hoare triple {8804#(<= ~counter~0 2)} ~cond := #in~cond; {8804#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:30,872 INFO L290 TraceCheckUtils]: 29: Hoare triple {8804#(<= ~counter~0 2)} assume !(0 == ~cond); {8804#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:30,872 INFO L290 TraceCheckUtils]: 30: Hoare triple {8804#(<= ~counter~0 2)} assume true; {8804#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:30,873 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {8804#(<= ~counter~0 2)} {8804#(<= ~counter~0 2)} #96#return; {8804#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:30,873 INFO L290 TraceCheckUtils]: 32: Hoare triple {8804#(<= ~counter~0 2)} assume !(~r~0 > 0); {8804#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:30,873 INFO L290 TraceCheckUtils]: 33: Hoare triple {8804#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {8829#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:30,874 INFO L290 TraceCheckUtils]: 34: Hoare triple {8829#(<= ~counter~0 3)} assume !!(#t~post8 < 10);havoc #t~post8; {8829#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:30,874 INFO L272 TraceCheckUtils]: 35: Hoare triple {8829#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8829#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:30,874 INFO L290 TraceCheckUtils]: 36: Hoare triple {8829#(<= ~counter~0 3)} ~cond := #in~cond; {8829#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:30,874 INFO L290 TraceCheckUtils]: 37: Hoare triple {8829#(<= ~counter~0 3)} assume !(0 == ~cond); {8829#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:30,875 INFO L290 TraceCheckUtils]: 38: Hoare triple {8829#(<= ~counter~0 3)} assume true; {8829#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:30,875 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {8829#(<= ~counter~0 3)} {8829#(<= ~counter~0 3)} #98#return; {8829#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:30,875 INFO L290 TraceCheckUtils]: 40: Hoare triple {8829#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {8829#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:30,876 INFO L290 TraceCheckUtils]: 41: Hoare triple {8829#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {8854#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:30,876 INFO L290 TraceCheckUtils]: 42: Hoare triple {8854#(<= ~counter~0 4)} assume !!(#t~post8 < 10);havoc #t~post8; {8854#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:30,876 INFO L272 TraceCheckUtils]: 43: Hoare triple {8854#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8854#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:30,877 INFO L290 TraceCheckUtils]: 44: Hoare triple {8854#(<= ~counter~0 4)} ~cond := #in~cond; {8854#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:30,877 INFO L290 TraceCheckUtils]: 45: Hoare triple {8854#(<= ~counter~0 4)} assume !(0 == ~cond); {8854#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:30,877 INFO L290 TraceCheckUtils]: 46: Hoare triple {8854#(<= ~counter~0 4)} assume true; {8854#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:30,878 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8854#(<= ~counter~0 4)} {8854#(<= ~counter~0 4)} #98#return; {8854#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:30,878 INFO L290 TraceCheckUtils]: 48: Hoare triple {8854#(<= ~counter~0 4)} assume !(~r~0 < 0); {8854#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:30,878 INFO L290 TraceCheckUtils]: 49: Hoare triple {8854#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8879#(<= ~counter~0 5)} is VALID [2022-04-14 16:13:30,878 INFO L290 TraceCheckUtils]: 50: Hoare triple {8879#(<= ~counter~0 5)} assume !!(#t~post6 < 10);havoc #t~post6; {8879#(<= ~counter~0 5)} is VALID [2022-04-14 16:13:30,879 INFO L272 TraceCheckUtils]: 51: Hoare triple {8879#(<= ~counter~0 5)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8879#(<= ~counter~0 5)} is VALID [2022-04-14 16:13:30,879 INFO L290 TraceCheckUtils]: 52: Hoare triple {8879#(<= ~counter~0 5)} ~cond := #in~cond; {8879#(<= ~counter~0 5)} is VALID [2022-04-14 16:13:30,879 INFO L290 TraceCheckUtils]: 53: Hoare triple {8879#(<= ~counter~0 5)} assume !(0 == ~cond); {8879#(<= ~counter~0 5)} is VALID [2022-04-14 16:13:30,880 INFO L290 TraceCheckUtils]: 54: Hoare triple {8879#(<= ~counter~0 5)} assume true; {8879#(<= ~counter~0 5)} is VALID [2022-04-14 16:13:30,880 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8879#(<= ~counter~0 5)} {8879#(<= ~counter~0 5)} #94#return; {8879#(<= ~counter~0 5)} is VALID [2022-04-14 16:13:30,881 INFO L290 TraceCheckUtils]: 56: Hoare triple {8879#(<= ~counter~0 5)} assume !!(0 != ~r~0); {8879#(<= ~counter~0 5)} is VALID [2022-04-14 16:13:30,881 INFO L290 TraceCheckUtils]: 57: Hoare triple {8879#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8904#(<= ~counter~0 6)} is VALID [2022-04-14 16:13:30,881 INFO L290 TraceCheckUtils]: 58: Hoare triple {8904#(<= ~counter~0 6)} assume !!(#t~post7 < 10);havoc #t~post7; {8904#(<= ~counter~0 6)} is VALID [2022-04-14 16:13:30,882 INFO L272 TraceCheckUtils]: 59: Hoare triple {8904#(<= ~counter~0 6)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8904#(<= ~counter~0 6)} is VALID [2022-04-14 16:13:30,882 INFO L290 TraceCheckUtils]: 60: Hoare triple {8904#(<= ~counter~0 6)} ~cond := #in~cond; {8904#(<= ~counter~0 6)} is VALID [2022-04-14 16:13:30,882 INFO L290 TraceCheckUtils]: 61: Hoare triple {8904#(<= ~counter~0 6)} assume !(0 == ~cond); {8904#(<= ~counter~0 6)} is VALID [2022-04-14 16:13:30,882 INFO L290 TraceCheckUtils]: 62: Hoare triple {8904#(<= ~counter~0 6)} assume true; {8904#(<= ~counter~0 6)} is VALID [2022-04-14 16:13:30,883 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {8904#(<= ~counter~0 6)} {8904#(<= ~counter~0 6)} #96#return; {8904#(<= ~counter~0 6)} is VALID [2022-04-14 16:13:30,883 INFO L290 TraceCheckUtils]: 64: Hoare triple {8904#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8904#(<= ~counter~0 6)} is VALID [2022-04-14 16:13:30,883 INFO L290 TraceCheckUtils]: 65: Hoare triple {8904#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8929#(<= ~counter~0 7)} is VALID [2022-04-14 16:13:30,884 INFO L290 TraceCheckUtils]: 66: Hoare triple {8929#(<= ~counter~0 7)} assume !!(#t~post7 < 10);havoc #t~post7; {8929#(<= ~counter~0 7)} is VALID [2022-04-14 16:13:30,884 INFO L272 TraceCheckUtils]: 67: Hoare triple {8929#(<= ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8929#(<= ~counter~0 7)} is VALID [2022-04-14 16:13:30,884 INFO L290 TraceCheckUtils]: 68: Hoare triple {8929#(<= ~counter~0 7)} ~cond := #in~cond; {8929#(<= ~counter~0 7)} is VALID [2022-04-14 16:13:30,885 INFO L290 TraceCheckUtils]: 69: Hoare triple {8929#(<= ~counter~0 7)} assume !(0 == ~cond); {8929#(<= ~counter~0 7)} is VALID [2022-04-14 16:13:30,885 INFO L290 TraceCheckUtils]: 70: Hoare triple {8929#(<= ~counter~0 7)} assume true; {8929#(<= ~counter~0 7)} is VALID [2022-04-14 16:13:30,885 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {8929#(<= ~counter~0 7)} {8929#(<= ~counter~0 7)} #96#return; {8929#(<= ~counter~0 7)} is VALID [2022-04-14 16:13:30,886 INFO L290 TraceCheckUtils]: 72: Hoare triple {8929#(<= ~counter~0 7)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8929#(<= ~counter~0 7)} is VALID [2022-04-14 16:13:30,886 INFO L290 TraceCheckUtils]: 73: Hoare triple {8929#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8954#(<= |main_#t~post7| 7)} is VALID [2022-04-14 16:13:30,886 INFO L290 TraceCheckUtils]: 74: Hoare triple {8954#(<= |main_#t~post7| 7)} assume !(#t~post7 < 10);havoc #t~post7; {8723#false} is VALID [2022-04-14 16:13:30,886 INFO L290 TraceCheckUtils]: 75: Hoare triple {8723#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {8723#false} is VALID [2022-04-14 16:13:30,886 INFO L290 TraceCheckUtils]: 76: Hoare triple {8723#false} assume !!(#t~post8 < 10);havoc #t~post8; {8723#false} is VALID [2022-04-14 16:13:30,886 INFO L272 TraceCheckUtils]: 77: Hoare triple {8723#false} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8723#false} is VALID [2022-04-14 16:13:30,886 INFO L290 TraceCheckUtils]: 78: Hoare triple {8723#false} ~cond := #in~cond; {8723#false} is VALID [2022-04-14 16:13:30,886 INFO L290 TraceCheckUtils]: 79: Hoare triple {8723#false} assume !(0 == ~cond); {8723#false} is VALID [2022-04-14 16:13:30,886 INFO L290 TraceCheckUtils]: 80: Hoare triple {8723#false} assume true; {8723#false} is VALID [2022-04-14 16:13:30,886 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {8723#false} {8723#false} #98#return; {8723#false} is VALID [2022-04-14 16:13:30,887 INFO L290 TraceCheckUtils]: 82: Hoare triple {8723#false} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {8723#false} is VALID [2022-04-14 16:13:30,887 INFO L290 TraceCheckUtils]: 83: Hoare triple {8723#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {8723#false} is VALID [2022-04-14 16:13:30,887 INFO L290 TraceCheckUtils]: 84: Hoare triple {8723#false} assume !(#t~post8 < 10);havoc #t~post8; {8723#false} is VALID [2022-04-14 16:13:30,887 INFO L290 TraceCheckUtils]: 85: Hoare triple {8723#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8723#false} is VALID [2022-04-14 16:13:30,887 INFO L290 TraceCheckUtils]: 86: Hoare triple {8723#false} assume !(#t~post6 < 10);havoc #t~post6; {8723#false} is VALID [2022-04-14 16:13:30,887 INFO L272 TraceCheckUtils]: 87: Hoare triple {8723#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8723#false} is VALID [2022-04-14 16:13:30,887 INFO L290 TraceCheckUtils]: 88: Hoare triple {8723#false} ~cond := #in~cond; {8723#false} is VALID [2022-04-14 16:13:30,887 INFO L290 TraceCheckUtils]: 89: Hoare triple {8723#false} assume 0 == ~cond; {8723#false} is VALID [2022-04-14 16:13:30,887 INFO L290 TraceCheckUtils]: 90: Hoare triple {8723#false} assume !false; {8723#false} is VALID [2022-04-14 16:13:30,887 INFO L134 CoverageAnalysis]: Checked inductivity of 176 backedges. 58 proven. 110 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-14 16:13:30,887 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 16:13:31,253 INFO L290 TraceCheckUtils]: 90: Hoare triple {8723#false} assume !false; {8723#false} is VALID [2022-04-14 16:13:31,253 INFO L290 TraceCheckUtils]: 89: Hoare triple {8723#false} assume 0 == ~cond; {8723#false} is VALID [2022-04-14 16:13:31,253 INFO L290 TraceCheckUtils]: 88: Hoare triple {8723#false} ~cond := #in~cond; {8723#false} is VALID [2022-04-14 16:13:31,253 INFO L272 TraceCheckUtils]: 87: Hoare triple {8723#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8723#false} is VALID [2022-04-14 16:13:31,253 INFO L290 TraceCheckUtils]: 86: Hoare triple {8723#false} assume !(#t~post6 < 10);havoc #t~post6; {8723#false} is VALID [2022-04-14 16:13:31,253 INFO L290 TraceCheckUtils]: 85: Hoare triple {8723#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8723#false} is VALID [2022-04-14 16:13:31,253 INFO L290 TraceCheckUtils]: 84: Hoare triple {8723#false} assume !(#t~post8 < 10);havoc #t~post8; {8723#false} is VALID [2022-04-14 16:13:31,253 INFO L290 TraceCheckUtils]: 83: Hoare triple {8723#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {8723#false} is VALID [2022-04-14 16:13:31,253 INFO L290 TraceCheckUtils]: 82: Hoare triple {8723#false} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {8723#false} is VALID [2022-04-14 16:13:31,253 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {8722#true} {8723#false} #98#return; {8723#false} is VALID [2022-04-14 16:13:31,253 INFO L290 TraceCheckUtils]: 80: Hoare triple {8722#true} assume true; {8722#true} is VALID [2022-04-14 16:13:31,253 INFO L290 TraceCheckUtils]: 79: Hoare triple {8722#true} assume !(0 == ~cond); {8722#true} is VALID [2022-04-14 16:13:31,254 INFO L290 TraceCheckUtils]: 78: Hoare triple {8722#true} ~cond := #in~cond; {8722#true} is VALID [2022-04-14 16:13:31,254 INFO L272 TraceCheckUtils]: 77: Hoare triple {8723#false} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8722#true} is VALID [2022-04-14 16:13:31,254 INFO L290 TraceCheckUtils]: 76: Hoare triple {8723#false} assume !!(#t~post8 < 10);havoc #t~post8; {8723#false} is VALID [2022-04-14 16:13:31,254 INFO L290 TraceCheckUtils]: 75: Hoare triple {8723#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {8723#false} is VALID [2022-04-14 16:13:31,254 INFO L290 TraceCheckUtils]: 74: Hoare triple {9054#(< |main_#t~post7| 10)} assume !(#t~post7 < 10);havoc #t~post7; {8723#false} is VALID [2022-04-14 16:13:31,254 INFO L290 TraceCheckUtils]: 73: Hoare triple {9058#(< ~counter~0 10)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9054#(< |main_#t~post7| 10)} is VALID [2022-04-14 16:13:31,254 INFO L290 TraceCheckUtils]: 72: Hoare triple {9058#(< ~counter~0 10)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9058#(< ~counter~0 10)} is VALID [2022-04-14 16:13:31,255 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {8722#true} {9058#(< ~counter~0 10)} #96#return; {9058#(< ~counter~0 10)} is VALID [2022-04-14 16:13:31,255 INFO L290 TraceCheckUtils]: 70: Hoare triple {8722#true} assume true; {8722#true} is VALID [2022-04-14 16:13:31,255 INFO L290 TraceCheckUtils]: 69: Hoare triple {8722#true} assume !(0 == ~cond); {8722#true} is VALID [2022-04-14 16:13:31,255 INFO L290 TraceCheckUtils]: 68: Hoare triple {8722#true} ~cond := #in~cond; {8722#true} is VALID [2022-04-14 16:13:31,255 INFO L272 TraceCheckUtils]: 67: Hoare triple {9058#(< ~counter~0 10)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8722#true} is VALID [2022-04-14 16:13:31,255 INFO L290 TraceCheckUtils]: 66: Hoare triple {9058#(< ~counter~0 10)} assume !!(#t~post7 < 10);havoc #t~post7; {9058#(< ~counter~0 10)} is VALID [2022-04-14 16:13:31,256 INFO L290 TraceCheckUtils]: 65: Hoare triple {9083#(< ~counter~0 9)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9058#(< ~counter~0 10)} is VALID [2022-04-14 16:13:31,256 INFO L290 TraceCheckUtils]: 64: Hoare triple {9083#(< ~counter~0 9)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9083#(< ~counter~0 9)} is VALID [2022-04-14 16:13:31,257 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {8722#true} {9083#(< ~counter~0 9)} #96#return; {9083#(< ~counter~0 9)} is VALID [2022-04-14 16:13:31,257 INFO L290 TraceCheckUtils]: 62: Hoare triple {8722#true} assume true; {8722#true} is VALID [2022-04-14 16:13:31,257 INFO L290 TraceCheckUtils]: 61: Hoare triple {8722#true} assume !(0 == ~cond); {8722#true} is VALID [2022-04-14 16:13:31,257 INFO L290 TraceCheckUtils]: 60: Hoare triple {8722#true} ~cond := #in~cond; {8722#true} is VALID [2022-04-14 16:13:31,257 INFO L272 TraceCheckUtils]: 59: Hoare triple {9083#(< ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8722#true} is VALID [2022-04-14 16:13:31,257 INFO L290 TraceCheckUtils]: 58: Hoare triple {9083#(< ~counter~0 9)} assume !!(#t~post7 < 10);havoc #t~post7; {9083#(< ~counter~0 9)} is VALID [2022-04-14 16:13:31,257 INFO L290 TraceCheckUtils]: 57: Hoare triple {8929#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9083#(< ~counter~0 9)} is VALID [2022-04-14 16:13:31,258 INFO L290 TraceCheckUtils]: 56: Hoare triple {8929#(<= ~counter~0 7)} assume !!(0 != ~r~0); {8929#(<= ~counter~0 7)} is VALID [2022-04-14 16:13:31,258 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8722#true} {8929#(<= ~counter~0 7)} #94#return; {8929#(<= ~counter~0 7)} is VALID [2022-04-14 16:13:31,258 INFO L290 TraceCheckUtils]: 54: Hoare triple {8722#true} assume true; {8722#true} is VALID [2022-04-14 16:13:31,258 INFO L290 TraceCheckUtils]: 53: Hoare triple {8722#true} assume !(0 == ~cond); {8722#true} is VALID [2022-04-14 16:13:31,258 INFO L290 TraceCheckUtils]: 52: Hoare triple {8722#true} ~cond := #in~cond; {8722#true} is VALID [2022-04-14 16:13:31,258 INFO L272 TraceCheckUtils]: 51: Hoare triple {8929#(<= ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8722#true} is VALID [2022-04-14 16:13:31,258 INFO L290 TraceCheckUtils]: 50: Hoare triple {8929#(<= ~counter~0 7)} assume !!(#t~post6 < 10);havoc #t~post6; {8929#(<= ~counter~0 7)} is VALID [2022-04-14 16:13:31,259 INFO L290 TraceCheckUtils]: 49: Hoare triple {8904#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8929#(<= ~counter~0 7)} is VALID [2022-04-14 16:13:31,259 INFO L290 TraceCheckUtils]: 48: Hoare triple {8904#(<= ~counter~0 6)} assume !(~r~0 < 0); {8904#(<= ~counter~0 6)} is VALID [2022-04-14 16:13:31,260 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8722#true} {8904#(<= ~counter~0 6)} #98#return; {8904#(<= ~counter~0 6)} is VALID [2022-04-14 16:13:31,260 INFO L290 TraceCheckUtils]: 46: Hoare triple {8722#true} assume true; {8722#true} is VALID [2022-04-14 16:13:31,260 INFO L290 TraceCheckUtils]: 45: Hoare triple {8722#true} assume !(0 == ~cond); {8722#true} is VALID [2022-04-14 16:13:31,260 INFO L290 TraceCheckUtils]: 44: Hoare triple {8722#true} ~cond := #in~cond; {8722#true} is VALID [2022-04-14 16:13:31,260 INFO L272 TraceCheckUtils]: 43: Hoare triple {8904#(<= ~counter~0 6)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8722#true} is VALID [2022-04-14 16:13:31,264 INFO L290 TraceCheckUtils]: 42: Hoare triple {8904#(<= ~counter~0 6)} assume !!(#t~post8 < 10);havoc #t~post8; {8904#(<= ~counter~0 6)} is VALID [2022-04-14 16:13:31,264 INFO L290 TraceCheckUtils]: 41: Hoare triple {8879#(<= ~counter~0 5)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {8904#(<= ~counter~0 6)} is VALID [2022-04-14 16:13:31,264 INFO L290 TraceCheckUtils]: 40: Hoare triple {8879#(<= ~counter~0 5)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {8879#(<= ~counter~0 5)} is VALID [2022-04-14 16:13:31,265 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {8722#true} {8879#(<= ~counter~0 5)} #98#return; {8879#(<= ~counter~0 5)} is VALID [2022-04-14 16:13:31,265 INFO L290 TraceCheckUtils]: 38: Hoare triple {8722#true} assume true; {8722#true} is VALID [2022-04-14 16:13:31,265 INFO L290 TraceCheckUtils]: 37: Hoare triple {8722#true} assume !(0 == ~cond); {8722#true} is VALID [2022-04-14 16:13:31,265 INFO L290 TraceCheckUtils]: 36: Hoare triple {8722#true} ~cond := #in~cond; {8722#true} is VALID [2022-04-14 16:13:31,265 INFO L272 TraceCheckUtils]: 35: Hoare triple {8879#(<= ~counter~0 5)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8722#true} is VALID [2022-04-14 16:13:31,265 INFO L290 TraceCheckUtils]: 34: Hoare triple {8879#(<= ~counter~0 5)} assume !!(#t~post8 < 10);havoc #t~post8; {8879#(<= ~counter~0 5)} is VALID [2022-04-14 16:13:31,266 INFO L290 TraceCheckUtils]: 33: Hoare triple {8854#(<= ~counter~0 4)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {8879#(<= ~counter~0 5)} is VALID [2022-04-14 16:13:31,266 INFO L290 TraceCheckUtils]: 32: Hoare triple {8854#(<= ~counter~0 4)} assume !(~r~0 > 0); {8854#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:31,266 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {8722#true} {8854#(<= ~counter~0 4)} #96#return; {8854#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:31,266 INFO L290 TraceCheckUtils]: 30: Hoare triple {8722#true} assume true; {8722#true} is VALID [2022-04-14 16:13:31,266 INFO L290 TraceCheckUtils]: 29: Hoare triple {8722#true} assume !(0 == ~cond); {8722#true} is VALID [2022-04-14 16:13:31,266 INFO L290 TraceCheckUtils]: 28: Hoare triple {8722#true} ~cond := #in~cond; {8722#true} is VALID [2022-04-14 16:13:31,266 INFO L272 TraceCheckUtils]: 27: Hoare triple {8854#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8722#true} is VALID [2022-04-14 16:13:31,267 INFO L290 TraceCheckUtils]: 26: Hoare triple {8854#(<= ~counter~0 4)} assume !!(#t~post7 < 10);havoc #t~post7; {8854#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:31,267 INFO L290 TraceCheckUtils]: 25: Hoare triple {8829#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8854#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:31,267 INFO L290 TraceCheckUtils]: 24: Hoare triple {8829#(<= ~counter~0 3)} assume !!(0 != ~r~0); {8829#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:31,268 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8722#true} {8829#(<= ~counter~0 3)} #94#return; {8829#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:31,268 INFO L290 TraceCheckUtils]: 22: Hoare triple {8722#true} assume true; {8722#true} is VALID [2022-04-14 16:13:31,268 INFO L290 TraceCheckUtils]: 21: Hoare triple {8722#true} assume !(0 == ~cond); {8722#true} is VALID [2022-04-14 16:13:31,268 INFO L290 TraceCheckUtils]: 20: Hoare triple {8722#true} ~cond := #in~cond; {8722#true} is VALID [2022-04-14 16:13:31,268 INFO L272 TraceCheckUtils]: 19: Hoare triple {8829#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {8722#true} is VALID [2022-04-14 16:13:31,268 INFO L290 TraceCheckUtils]: 18: Hoare triple {8829#(<= ~counter~0 3)} assume !!(#t~post6 < 10);havoc #t~post6; {8829#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:31,269 INFO L290 TraceCheckUtils]: 17: Hoare triple {8804#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8829#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:31,269 INFO L290 TraceCheckUtils]: 16: Hoare triple {8804#(<= ~counter~0 2)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {8804#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:31,269 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8722#true} {8804#(<= ~counter~0 2)} #92#return; {8804#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:31,269 INFO L290 TraceCheckUtils]: 14: Hoare triple {8722#true} assume true; {8722#true} is VALID [2022-04-14 16:13:31,269 INFO L290 TraceCheckUtils]: 13: Hoare triple {8722#true} assume !(0 == ~cond); {8722#true} is VALID [2022-04-14 16:13:31,269 INFO L290 TraceCheckUtils]: 12: Hoare triple {8722#true} ~cond := #in~cond; {8722#true} is VALID [2022-04-14 16:13:31,269 INFO L272 TraceCheckUtils]: 11: Hoare triple {8804#(<= ~counter~0 2)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {8722#true} is VALID [2022-04-14 16:13:31,270 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8722#true} {8804#(<= ~counter~0 2)} #90#return; {8804#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:31,270 INFO L290 TraceCheckUtils]: 9: Hoare triple {8722#true} assume true; {8722#true} is VALID [2022-04-14 16:13:31,270 INFO L290 TraceCheckUtils]: 8: Hoare triple {8722#true} assume !(0 == ~cond); {8722#true} is VALID [2022-04-14 16:13:31,270 INFO L290 TraceCheckUtils]: 7: Hoare triple {8722#true} ~cond := #in~cond; {8722#true} is VALID [2022-04-14 16:13:31,270 INFO L272 TraceCheckUtils]: 6: Hoare triple {8804#(<= ~counter~0 2)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {8722#true} is VALID [2022-04-14 16:13:31,270 INFO L290 TraceCheckUtils]: 5: Hoare triple {8804#(<= ~counter~0 2)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {8804#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:31,270 INFO L272 TraceCheckUtils]: 4: Hoare triple {8804#(<= ~counter~0 2)} call #t~ret9 := main(); {8804#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:31,271 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8804#(<= ~counter~0 2)} {8722#true} #102#return; {8804#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:31,271 INFO L290 TraceCheckUtils]: 2: Hoare triple {8804#(<= ~counter~0 2)} assume true; {8804#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:31,271 INFO L290 TraceCheckUtils]: 1: Hoare triple {8722#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8804#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:31,271 INFO L272 TraceCheckUtils]: 0: Hoare triple {8722#true} call ULTIMATE.init(); {8722#true} is VALID [2022-04-14 16:13:31,272 INFO L134 CoverageAnalysis]: Checked inductivity of 176 backedges. 32 proven. 26 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2022-04-14 16:13:31,272 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 16:13:31,272 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [183816309] [2022-04-14 16:13:31,272 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 16:13:31,272 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1191641844] [2022-04-14 16:13:31,272 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1191641844] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 16:13:31,272 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 16:13:31,272 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 14 [2022-04-14 16:13:31,272 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1996953253] [2022-04-14 16:13:31,272 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 16:13:31,273 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 6.785714285714286) internal successors, (95), 14 states have internal predecessors, (95), 12 states have call successors, (24), 10 states have call predecessors, (24), 10 states have return successors, (22), 11 states have call predecessors, (22), 12 states have call successors, (22) Word has length 91 [2022-04-14 16:13:31,273 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 16:13:31,273 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 6.785714285714286) internal successors, (95), 14 states have internal predecessors, (95), 12 states have call successors, (24), 10 states have call predecessors, (24), 10 states have return successors, (22), 11 states have call predecessors, (22), 12 states have call successors, (22) [2022-04-14 16:13:31,369 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 141 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:31,369 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-14 16:13:31,369 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 16:13:31,370 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-14 16:13:31,370 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-14 16:13:31,370 INFO L87 Difference]: Start difference. First operand 342 states and 469 transitions. Second operand has 14 states, 14 states have (on average 6.785714285714286) internal successors, (95), 14 states have internal predecessors, (95), 12 states have call successors, (24), 10 states have call predecessors, (24), 10 states have return successors, (22), 11 states have call predecessors, (22), 12 states have call successors, (22) [2022-04-14 16:13:32,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:32,097 INFO L93 Difference]: Finished difference Result 471 states and 650 transitions. [2022-04-14 16:13:32,097 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-14 16:13:32,097 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 6.785714285714286) internal successors, (95), 14 states have internal predecessors, (95), 12 states have call successors, (24), 10 states have call predecessors, (24), 10 states have return successors, (22), 11 states have call predecessors, (22), 12 states have call successors, (22) Word has length 91 [2022-04-14 16:13:32,097 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 16:13:32,097 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 6.785714285714286) internal successors, (95), 14 states have internal predecessors, (95), 12 states have call successors, (24), 10 states have call predecessors, (24), 10 states have return successors, (22), 11 states have call predecessors, (22), 12 states have call successors, (22) [2022-04-14 16:13:32,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 221 transitions. [2022-04-14 16:13:32,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 6.785714285714286) internal successors, (95), 14 states have internal predecessors, (95), 12 states have call successors, (24), 10 states have call predecessors, (24), 10 states have return successors, (22), 11 states have call predecessors, (22), 12 states have call successors, (22) [2022-04-14 16:13:32,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 221 transitions. [2022-04-14 16:13:32,101 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 221 transitions. [2022-04-14 16:13:32,259 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 221 edges. 221 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:32,265 INFO L225 Difference]: With dead ends: 471 [2022-04-14 16:13:32,266 INFO L226 Difference]: Without dead ends: 352 [2022-04-14 16:13:32,266 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 189 GetRequests, 168 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 46 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=166, Invalid=296, Unknown=0, NotChecked=0, Total=462 [2022-04-14 16:13:32,266 INFO L913 BasicCegarLoop]: 57 mSDtfsCounter, 131 mSDsluCounter, 185 mSDsCounter, 0 mSdLazyCounter, 111 mSolverCounterSat, 83 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 131 SdHoareTripleChecker+Valid, 242 SdHoareTripleChecker+Invalid, 194 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 83 IncrementalHoareTripleChecker+Valid, 111 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-14 16:13:32,267 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [131 Valid, 242 Invalid, 194 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [83 Valid, 111 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-14 16:13:32,267 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 352 states. [2022-04-14 16:13:32,441 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 352 to 348. [2022-04-14 16:13:32,441 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 16:13:32,442 INFO L82 GeneralOperation]: Start isEquivalent. First operand 352 states. Second operand has 348 states, 263 states have (on average 1.2243346007604563) internal successors, (322), 263 states have internal predecessors, (322), 72 states have call successors, (72), 14 states have call predecessors, (72), 12 states have return successors, (70), 70 states have call predecessors, (70), 70 states have call successors, (70) [2022-04-14 16:13:32,444 INFO L74 IsIncluded]: Start isIncluded. First operand 352 states. Second operand has 348 states, 263 states have (on average 1.2243346007604563) internal successors, (322), 263 states have internal predecessors, (322), 72 states have call successors, (72), 14 states have call predecessors, (72), 12 states have return successors, (70), 70 states have call predecessors, (70), 70 states have call successors, (70) [2022-04-14 16:13:32,445 INFO L87 Difference]: Start difference. First operand 352 states. Second operand has 348 states, 263 states have (on average 1.2243346007604563) internal successors, (322), 263 states have internal predecessors, (322), 72 states have call successors, (72), 14 states have call predecessors, (72), 12 states have return successors, (70), 70 states have call predecessors, (70), 70 states have call successors, (70) [2022-04-14 16:13:32,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:32,452 INFO L93 Difference]: Finished difference Result 352 states and 468 transitions. [2022-04-14 16:13:32,452 INFO L276 IsEmpty]: Start isEmpty. Operand 352 states and 468 transitions. [2022-04-14 16:13:32,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:32,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:32,454 INFO L74 IsIncluded]: Start isIncluded. First operand has 348 states, 263 states have (on average 1.2243346007604563) internal successors, (322), 263 states have internal predecessors, (322), 72 states have call successors, (72), 14 states have call predecessors, (72), 12 states have return successors, (70), 70 states have call predecessors, (70), 70 states have call successors, (70) Second operand 352 states. [2022-04-14 16:13:32,454 INFO L87 Difference]: Start difference. First operand has 348 states, 263 states have (on average 1.2243346007604563) internal successors, (322), 263 states have internal predecessors, (322), 72 states have call successors, (72), 14 states have call predecessors, (72), 12 states have return successors, (70), 70 states have call predecessors, (70), 70 states have call successors, (70) Second operand 352 states. [2022-04-14 16:13:32,461 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:32,461 INFO L93 Difference]: Finished difference Result 352 states and 468 transitions. [2022-04-14 16:13:32,461 INFO L276 IsEmpty]: Start isEmpty. Operand 352 states and 468 transitions. [2022-04-14 16:13:32,462 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:32,462 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:32,462 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 16:13:32,462 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 16:13:32,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 348 states, 263 states have (on average 1.2243346007604563) internal successors, (322), 263 states have internal predecessors, (322), 72 states have call successors, (72), 14 states have call predecessors, (72), 12 states have return successors, (70), 70 states have call predecessors, (70), 70 states have call successors, (70) [2022-04-14 16:13:32,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 348 states to 348 states and 464 transitions. [2022-04-14 16:13:32,470 INFO L78 Accepts]: Start accepts. Automaton has 348 states and 464 transitions. Word has length 91 [2022-04-14 16:13:32,470 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 16:13:32,470 INFO L478 AbstractCegarLoop]: Abstraction has 348 states and 464 transitions. [2022-04-14 16:13:32,470 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 6.785714285714286) internal successors, (95), 14 states have internal predecessors, (95), 12 states have call successors, (24), 10 states have call predecessors, (24), 10 states have return successors, (22), 11 states have call predecessors, (22), 12 states have call successors, (22) [2022-04-14 16:13:32,470 INFO L276 IsEmpty]: Start isEmpty. Operand 348 states and 464 transitions. [2022-04-14 16:13:32,472 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 98 [2022-04-14 16:13:32,472 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 16:13:32,472 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 16:13:32,497 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-14 16:13:32,687 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-14 16:13:32,687 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 16:13:32,688 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 16:13:32,688 INFO L85 PathProgramCache]: Analyzing trace with hash 1660747519, now seen corresponding path program 1 times [2022-04-14 16:13:32,688 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 16:13:32,688 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [812551094] [2022-04-14 16:13:32,688 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:32,688 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 16:13:32,699 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 16:13:32,699 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [140228365] [2022-04-14 16:13:32,699 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:32,699 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 16:13:32,699 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 16:13:32,700 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 16:13:32,701 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-14 16:13:32,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:13:32,748 INFO L263 TraceCheckSpWp]: Trace formula consists of 249 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-14 16:13:32,764 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 16:13:32,765 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 16:13:33,217 INFO L272 TraceCheckUtils]: 0: Hoare triple {11148#true} call ULTIMATE.init(); {11148#true} is VALID [2022-04-14 16:13:33,218 INFO L290 TraceCheckUtils]: 1: Hoare triple {11148#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11156#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:33,218 INFO L290 TraceCheckUtils]: 2: Hoare triple {11156#(<= ~counter~0 0)} assume true; {11156#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:33,218 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11156#(<= ~counter~0 0)} {11148#true} #102#return; {11156#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:33,219 INFO L272 TraceCheckUtils]: 4: Hoare triple {11156#(<= ~counter~0 0)} call #t~ret9 := main(); {11156#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:33,219 INFO L290 TraceCheckUtils]: 5: Hoare triple {11156#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {11156#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:33,219 INFO L272 TraceCheckUtils]: 6: Hoare triple {11156#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {11156#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:33,219 INFO L290 TraceCheckUtils]: 7: Hoare triple {11156#(<= ~counter~0 0)} ~cond := #in~cond; {11156#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:33,220 INFO L290 TraceCheckUtils]: 8: Hoare triple {11156#(<= ~counter~0 0)} assume !(0 == ~cond); {11156#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:33,220 INFO L290 TraceCheckUtils]: 9: Hoare triple {11156#(<= ~counter~0 0)} assume true; {11156#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:33,220 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11156#(<= ~counter~0 0)} {11156#(<= ~counter~0 0)} #90#return; {11156#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:33,221 INFO L272 TraceCheckUtils]: 11: Hoare triple {11156#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {11156#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:33,221 INFO L290 TraceCheckUtils]: 12: Hoare triple {11156#(<= ~counter~0 0)} ~cond := #in~cond; {11156#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:33,221 INFO L290 TraceCheckUtils]: 13: Hoare triple {11156#(<= ~counter~0 0)} assume !(0 == ~cond); {11156#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:33,221 INFO L290 TraceCheckUtils]: 14: Hoare triple {11156#(<= ~counter~0 0)} assume true; {11156#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:33,222 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11156#(<= ~counter~0 0)} {11156#(<= ~counter~0 0)} #92#return; {11156#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:33,222 INFO L290 TraceCheckUtils]: 16: Hoare triple {11156#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {11156#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:33,222 INFO L290 TraceCheckUtils]: 17: Hoare triple {11156#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11205#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:33,223 INFO L290 TraceCheckUtils]: 18: Hoare triple {11205#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {11205#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:33,223 INFO L272 TraceCheckUtils]: 19: Hoare triple {11205#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {11205#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:33,223 INFO L290 TraceCheckUtils]: 20: Hoare triple {11205#(<= ~counter~0 1)} ~cond := #in~cond; {11205#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:33,224 INFO L290 TraceCheckUtils]: 21: Hoare triple {11205#(<= ~counter~0 1)} assume !(0 == ~cond); {11205#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:33,224 INFO L290 TraceCheckUtils]: 22: Hoare triple {11205#(<= ~counter~0 1)} assume true; {11205#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:33,224 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11205#(<= ~counter~0 1)} {11205#(<= ~counter~0 1)} #94#return; {11205#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:33,224 INFO L290 TraceCheckUtils]: 24: Hoare triple {11205#(<= ~counter~0 1)} assume !!(0 != ~r~0); {11205#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:33,225 INFO L290 TraceCheckUtils]: 25: Hoare triple {11205#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11230#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:33,225 INFO L290 TraceCheckUtils]: 26: Hoare triple {11230#(<= ~counter~0 2)} assume !!(#t~post7 < 10);havoc #t~post7; {11230#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:33,225 INFO L272 TraceCheckUtils]: 27: Hoare triple {11230#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {11230#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:33,226 INFO L290 TraceCheckUtils]: 28: Hoare triple {11230#(<= ~counter~0 2)} ~cond := #in~cond; {11230#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:33,226 INFO L290 TraceCheckUtils]: 29: Hoare triple {11230#(<= ~counter~0 2)} assume !(0 == ~cond); {11230#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:33,226 INFO L290 TraceCheckUtils]: 30: Hoare triple {11230#(<= ~counter~0 2)} assume true; {11230#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:33,227 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {11230#(<= ~counter~0 2)} {11230#(<= ~counter~0 2)} #96#return; {11230#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:33,227 INFO L290 TraceCheckUtils]: 32: Hoare triple {11230#(<= ~counter~0 2)} assume !(~r~0 > 0); {11230#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:33,227 INFO L290 TraceCheckUtils]: 33: Hoare triple {11230#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {11255#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:33,228 INFO L290 TraceCheckUtils]: 34: Hoare triple {11255#(<= ~counter~0 3)} assume !!(#t~post8 < 10);havoc #t~post8; {11255#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:33,228 INFO L272 TraceCheckUtils]: 35: Hoare triple {11255#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {11255#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:33,228 INFO L290 TraceCheckUtils]: 36: Hoare triple {11255#(<= ~counter~0 3)} ~cond := #in~cond; {11255#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:33,229 INFO L290 TraceCheckUtils]: 37: Hoare triple {11255#(<= ~counter~0 3)} assume !(0 == ~cond); {11255#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:33,229 INFO L290 TraceCheckUtils]: 38: Hoare triple {11255#(<= ~counter~0 3)} assume true; {11255#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:33,229 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {11255#(<= ~counter~0 3)} {11255#(<= ~counter~0 3)} #98#return; {11255#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:33,229 INFO L290 TraceCheckUtils]: 40: Hoare triple {11255#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {11255#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:33,230 INFO L290 TraceCheckUtils]: 41: Hoare triple {11255#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {11280#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:33,230 INFO L290 TraceCheckUtils]: 42: Hoare triple {11280#(<= ~counter~0 4)} assume !!(#t~post8 < 10);havoc #t~post8; {11280#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:33,230 INFO L272 TraceCheckUtils]: 43: Hoare triple {11280#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {11280#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:33,231 INFO L290 TraceCheckUtils]: 44: Hoare triple {11280#(<= ~counter~0 4)} ~cond := #in~cond; {11280#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:33,231 INFO L290 TraceCheckUtils]: 45: Hoare triple {11280#(<= ~counter~0 4)} assume !(0 == ~cond); {11280#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:33,231 INFO L290 TraceCheckUtils]: 46: Hoare triple {11280#(<= ~counter~0 4)} assume true; {11280#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:33,232 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11280#(<= ~counter~0 4)} {11280#(<= ~counter~0 4)} #98#return; {11280#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:33,232 INFO L290 TraceCheckUtils]: 48: Hoare triple {11280#(<= ~counter~0 4)} assume !(~r~0 < 0); {11280#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:33,232 INFO L290 TraceCheckUtils]: 49: Hoare triple {11280#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11305#(<= ~counter~0 5)} is VALID [2022-04-14 16:13:33,232 INFO L290 TraceCheckUtils]: 50: Hoare triple {11305#(<= ~counter~0 5)} assume !!(#t~post6 < 10);havoc #t~post6; {11305#(<= ~counter~0 5)} is VALID [2022-04-14 16:13:33,233 INFO L272 TraceCheckUtils]: 51: Hoare triple {11305#(<= ~counter~0 5)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {11305#(<= ~counter~0 5)} is VALID [2022-04-14 16:13:33,233 INFO L290 TraceCheckUtils]: 52: Hoare triple {11305#(<= ~counter~0 5)} ~cond := #in~cond; {11305#(<= ~counter~0 5)} is VALID [2022-04-14 16:13:33,233 INFO L290 TraceCheckUtils]: 53: Hoare triple {11305#(<= ~counter~0 5)} assume !(0 == ~cond); {11305#(<= ~counter~0 5)} is VALID [2022-04-14 16:13:33,234 INFO L290 TraceCheckUtils]: 54: Hoare triple {11305#(<= ~counter~0 5)} assume true; {11305#(<= ~counter~0 5)} is VALID [2022-04-14 16:13:33,234 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11305#(<= ~counter~0 5)} {11305#(<= ~counter~0 5)} #94#return; {11305#(<= ~counter~0 5)} is VALID [2022-04-14 16:13:33,234 INFO L290 TraceCheckUtils]: 56: Hoare triple {11305#(<= ~counter~0 5)} assume !!(0 != ~r~0); {11305#(<= ~counter~0 5)} is VALID [2022-04-14 16:13:33,235 INFO L290 TraceCheckUtils]: 57: Hoare triple {11305#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11330#(<= ~counter~0 6)} is VALID [2022-04-14 16:13:33,235 INFO L290 TraceCheckUtils]: 58: Hoare triple {11330#(<= ~counter~0 6)} assume !!(#t~post7 < 10);havoc #t~post7; {11330#(<= ~counter~0 6)} is VALID [2022-04-14 16:13:33,235 INFO L272 TraceCheckUtils]: 59: Hoare triple {11330#(<= ~counter~0 6)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {11330#(<= ~counter~0 6)} is VALID [2022-04-14 16:13:33,236 INFO L290 TraceCheckUtils]: 60: Hoare triple {11330#(<= ~counter~0 6)} ~cond := #in~cond; {11330#(<= ~counter~0 6)} is VALID [2022-04-14 16:13:33,236 INFO L290 TraceCheckUtils]: 61: Hoare triple {11330#(<= ~counter~0 6)} assume !(0 == ~cond); {11330#(<= ~counter~0 6)} is VALID [2022-04-14 16:13:33,236 INFO L290 TraceCheckUtils]: 62: Hoare triple {11330#(<= ~counter~0 6)} assume true; {11330#(<= ~counter~0 6)} is VALID [2022-04-14 16:13:33,236 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {11330#(<= ~counter~0 6)} {11330#(<= ~counter~0 6)} #96#return; {11330#(<= ~counter~0 6)} is VALID [2022-04-14 16:13:33,237 INFO L290 TraceCheckUtils]: 64: Hoare triple {11330#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {11330#(<= ~counter~0 6)} is VALID [2022-04-14 16:13:33,237 INFO L290 TraceCheckUtils]: 65: Hoare triple {11330#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11355#(<= ~counter~0 7)} is VALID [2022-04-14 16:13:33,238 INFO L290 TraceCheckUtils]: 66: Hoare triple {11355#(<= ~counter~0 7)} assume !!(#t~post7 < 10);havoc #t~post7; {11355#(<= ~counter~0 7)} is VALID [2022-04-14 16:13:33,238 INFO L272 TraceCheckUtils]: 67: Hoare triple {11355#(<= ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {11355#(<= ~counter~0 7)} is VALID [2022-04-14 16:13:33,239 INFO L290 TraceCheckUtils]: 68: Hoare triple {11355#(<= ~counter~0 7)} ~cond := #in~cond; {11355#(<= ~counter~0 7)} is VALID [2022-04-14 16:13:33,239 INFO L290 TraceCheckUtils]: 69: Hoare triple {11355#(<= ~counter~0 7)} assume !(0 == ~cond); {11355#(<= ~counter~0 7)} is VALID [2022-04-14 16:13:33,239 INFO L290 TraceCheckUtils]: 70: Hoare triple {11355#(<= ~counter~0 7)} assume true; {11355#(<= ~counter~0 7)} is VALID [2022-04-14 16:13:33,242 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {11355#(<= ~counter~0 7)} {11355#(<= ~counter~0 7)} #96#return; {11355#(<= ~counter~0 7)} is VALID [2022-04-14 16:13:33,243 INFO L290 TraceCheckUtils]: 72: Hoare triple {11355#(<= ~counter~0 7)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {11355#(<= ~counter~0 7)} is VALID [2022-04-14 16:13:33,243 INFO L290 TraceCheckUtils]: 73: Hoare triple {11355#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11380#(<= ~counter~0 8)} is VALID [2022-04-14 16:13:33,243 INFO L290 TraceCheckUtils]: 74: Hoare triple {11380#(<= ~counter~0 8)} assume !!(#t~post7 < 10);havoc #t~post7; {11380#(<= ~counter~0 8)} is VALID [2022-04-14 16:13:33,244 INFO L272 TraceCheckUtils]: 75: Hoare triple {11380#(<= ~counter~0 8)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {11380#(<= ~counter~0 8)} is VALID [2022-04-14 16:13:33,244 INFO L290 TraceCheckUtils]: 76: Hoare triple {11380#(<= ~counter~0 8)} ~cond := #in~cond; {11380#(<= ~counter~0 8)} is VALID [2022-04-14 16:13:33,244 INFO L290 TraceCheckUtils]: 77: Hoare triple {11380#(<= ~counter~0 8)} assume !(0 == ~cond); {11380#(<= ~counter~0 8)} is VALID [2022-04-14 16:13:33,245 INFO L290 TraceCheckUtils]: 78: Hoare triple {11380#(<= ~counter~0 8)} assume true; {11380#(<= ~counter~0 8)} is VALID [2022-04-14 16:13:33,245 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {11380#(<= ~counter~0 8)} {11380#(<= ~counter~0 8)} #96#return; {11380#(<= ~counter~0 8)} is VALID [2022-04-14 16:13:33,245 INFO L290 TraceCheckUtils]: 80: Hoare triple {11380#(<= ~counter~0 8)} assume !(~r~0 > 0); {11380#(<= ~counter~0 8)} is VALID [2022-04-14 16:13:33,246 INFO L290 TraceCheckUtils]: 81: Hoare triple {11380#(<= ~counter~0 8)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {11405#(<= ~counter~0 9)} is VALID [2022-04-14 16:13:33,246 INFO L290 TraceCheckUtils]: 82: Hoare triple {11405#(<= ~counter~0 9)} assume !!(#t~post8 < 10);havoc #t~post8; {11405#(<= ~counter~0 9)} is VALID [2022-04-14 16:13:33,246 INFO L272 TraceCheckUtils]: 83: Hoare triple {11405#(<= ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {11405#(<= ~counter~0 9)} is VALID [2022-04-14 16:13:33,247 INFO L290 TraceCheckUtils]: 84: Hoare triple {11405#(<= ~counter~0 9)} ~cond := #in~cond; {11405#(<= ~counter~0 9)} is VALID [2022-04-14 16:13:33,247 INFO L290 TraceCheckUtils]: 85: Hoare triple {11405#(<= ~counter~0 9)} assume !(0 == ~cond); {11405#(<= ~counter~0 9)} is VALID [2022-04-14 16:13:33,247 INFO L290 TraceCheckUtils]: 86: Hoare triple {11405#(<= ~counter~0 9)} assume true; {11405#(<= ~counter~0 9)} is VALID [2022-04-14 16:13:33,247 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {11405#(<= ~counter~0 9)} {11405#(<= ~counter~0 9)} #98#return; {11405#(<= ~counter~0 9)} is VALID [2022-04-14 16:13:33,248 INFO L290 TraceCheckUtils]: 88: Hoare triple {11405#(<= ~counter~0 9)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {11405#(<= ~counter~0 9)} is VALID [2022-04-14 16:13:33,248 INFO L290 TraceCheckUtils]: 89: Hoare triple {11405#(<= ~counter~0 9)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {11430#(<= |main_#t~post8| 9)} is VALID [2022-04-14 16:13:33,248 INFO L290 TraceCheckUtils]: 90: Hoare triple {11430#(<= |main_#t~post8| 9)} assume !(#t~post8 < 10);havoc #t~post8; {11149#false} is VALID [2022-04-14 16:13:33,248 INFO L290 TraceCheckUtils]: 91: Hoare triple {11149#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11149#false} is VALID [2022-04-14 16:13:33,248 INFO L290 TraceCheckUtils]: 92: Hoare triple {11149#false} assume !(#t~post6 < 10);havoc #t~post6; {11149#false} is VALID [2022-04-14 16:13:33,248 INFO L272 TraceCheckUtils]: 93: Hoare triple {11149#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {11149#false} is VALID [2022-04-14 16:13:33,249 INFO L290 TraceCheckUtils]: 94: Hoare triple {11149#false} ~cond := #in~cond; {11149#false} is VALID [2022-04-14 16:13:33,249 INFO L290 TraceCheckUtils]: 95: Hoare triple {11149#false} assume 0 == ~cond; {11149#false} is VALID [2022-04-14 16:13:33,249 INFO L290 TraceCheckUtils]: 96: Hoare triple {11149#false} assume !false; {11149#false} is VALID [2022-04-14 16:13:33,249 INFO L134 CoverageAnalysis]: Checked inductivity of 216 backedges. 22 proven. 190 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-14 16:13:33,249 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 16:13:33,634 INFO L290 TraceCheckUtils]: 96: Hoare triple {11149#false} assume !false; {11149#false} is VALID [2022-04-14 16:13:33,634 INFO L290 TraceCheckUtils]: 95: Hoare triple {11149#false} assume 0 == ~cond; {11149#false} is VALID [2022-04-14 16:13:33,634 INFO L290 TraceCheckUtils]: 94: Hoare triple {11149#false} ~cond := #in~cond; {11149#false} is VALID [2022-04-14 16:13:33,634 INFO L272 TraceCheckUtils]: 93: Hoare triple {11149#false} call __VERIFIER_assert((if 4 * ~A~0 == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {11149#false} is VALID [2022-04-14 16:13:33,634 INFO L290 TraceCheckUtils]: 92: Hoare triple {11149#false} assume !(#t~post6 < 10);havoc #t~post6; {11149#false} is VALID [2022-04-14 16:13:33,634 INFO L290 TraceCheckUtils]: 91: Hoare triple {11149#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11149#false} is VALID [2022-04-14 16:13:33,634 INFO L290 TraceCheckUtils]: 90: Hoare triple {11430#(<= |main_#t~post8| 9)} assume !(#t~post8 < 10);havoc #t~post8; {11149#false} is VALID [2022-04-14 16:13:33,635 INFO L290 TraceCheckUtils]: 89: Hoare triple {11405#(<= ~counter~0 9)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {11430#(<= |main_#t~post8| 9)} is VALID [2022-04-14 16:13:33,635 INFO L290 TraceCheckUtils]: 88: Hoare triple {11405#(<= ~counter~0 9)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {11405#(<= ~counter~0 9)} is VALID [2022-04-14 16:13:33,635 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {11148#true} {11405#(<= ~counter~0 9)} #98#return; {11405#(<= ~counter~0 9)} is VALID [2022-04-14 16:13:33,635 INFO L290 TraceCheckUtils]: 86: Hoare triple {11148#true} assume true; {11148#true} is VALID [2022-04-14 16:13:33,635 INFO L290 TraceCheckUtils]: 85: Hoare triple {11148#true} assume !(0 == ~cond); {11148#true} is VALID [2022-04-14 16:13:33,636 INFO L290 TraceCheckUtils]: 84: Hoare triple {11148#true} ~cond := #in~cond; {11148#true} is VALID [2022-04-14 16:13:33,636 INFO L272 TraceCheckUtils]: 83: Hoare triple {11405#(<= ~counter~0 9)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {11148#true} is VALID [2022-04-14 16:13:33,636 INFO L290 TraceCheckUtils]: 82: Hoare triple {11405#(<= ~counter~0 9)} assume !!(#t~post8 < 10);havoc #t~post8; {11405#(<= ~counter~0 9)} is VALID [2022-04-14 16:13:33,636 INFO L290 TraceCheckUtils]: 81: Hoare triple {11380#(<= ~counter~0 8)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {11405#(<= ~counter~0 9)} is VALID [2022-04-14 16:13:33,637 INFO L290 TraceCheckUtils]: 80: Hoare triple {11380#(<= ~counter~0 8)} assume !(~r~0 > 0); {11380#(<= ~counter~0 8)} is VALID [2022-04-14 16:13:33,637 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {11148#true} {11380#(<= ~counter~0 8)} #96#return; {11380#(<= ~counter~0 8)} is VALID [2022-04-14 16:13:33,637 INFO L290 TraceCheckUtils]: 78: Hoare triple {11148#true} assume true; {11148#true} is VALID [2022-04-14 16:13:33,637 INFO L290 TraceCheckUtils]: 77: Hoare triple {11148#true} assume !(0 == ~cond); {11148#true} is VALID [2022-04-14 16:13:33,637 INFO L290 TraceCheckUtils]: 76: Hoare triple {11148#true} ~cond := #in~cond; {11148#true} is VALID [2022-04-14 16:13:33,637 INFO L272 TraceCheckUtils]: 75: Hoare triple {11380#(<= ~counter~0 8)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {11148#true} is VALID [2022-04-14 16:13:33,637 INFO L290 TraceCheckUtils]: 74: Hoare triple {11380#(<= ~counter~0 8)} assume !!(#t~post7 < 10);havoc #t~post7; {11380#(<= ~counter~0 8)} is VALID [2022-04-14 16:13:33,638 INFO L290 TraceCheckUtils]: 73: Hoare triple {11355#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11380#(<= ~counter~0 8)} is VALID [2022-04-14 16:13:33,638 INFO L290 TraceCheckUtils]: 72: Hoare triple {11355#(<= ~counter~0 7)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {11355#(<= ~counter~0 7)} is VALID [2022-04-14 16:13:33,639 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {11148#true} {11355#(<= ~counter~0 7)} #96#return; {11355#(<= ~counter~0 7)} is VALID [2022-04-14 16:13:33,639 INFO L290 TraceCheckUtils]: 70: Hoare triple {11148#true} assume true; {11148#true} is VALID [2022-04-14 16:13:33,639 INFO L290 TraceCheckUtils]: 69: Hoare triple {11148#true} assume !(0 == ~cond); {11148#true} is VALID [2022-04-14 16:13:33,639 INFO L290 TraceCheckUtils]: 68: Hoare triple {11148#true} ~cond := #in~cond; {11148#true} is VALID [2022-04-14 16:13:33,639 INFO L272 TraceCheckUtils]: 67: Hoare triple {11355#(<= ~counter~0 7)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {11148#true} is VALID [2022-04-14 16:13:33,648 INFO L290 TraceCheckUtils]: 66: Hoare triple {11355#(<= ~counter~0 7)} assume !!(#t~post7 < 10);havoc #t~post7; {11355#(<= ~counter~0 7)} is VALID [2022-04-14 16:13:33,648 INFO L290 TraceCheckUtils]: 65: Hoare triple {11330#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11355#(<= ~counter~0 7)} is VALID [2022-04-14 16:13:33,649 INFO L290 TraceCheckUtils]: 64: Hoare triple {11330#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {11330#(<= ~counter~0 6)} is VALID [2022-04-14 16:13:33,649 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {11148#true} {11330#(<= ~counter~0 6)} #96#return; {11330#(<= ~counter~0 6)} is VALID [2022-04-14 16:13:33,649 INFO L290 TraceCheckUtils]: 62: Hoare triple {11148#true} assume true; {11148#true} is VALID [2022-04-14 16:13:33,649 INFO L290 TraceCheckUtils]: 61: Hoare triple {11148#true} assume !(0 == ~cond); {11148#true} is VALID [2022-04-14 16:13:33,649 INFO L290 TraceCheckUtils]: 60: Hoare triple {11148#true} ~cond := #in~cond; {11148#true} is VALID [2022-04-14 16:13:33,649 INFO L272 TraceCheckUtils]: 59: Hoare triple {11330#(<= ~counter~0 6)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {11148#true} is VALID [2022-04-14 16:13:33,650 INFO L290 TraceCheckUtils]: 58: Hoare triple {11330#(<= ~counter~0 6)} assume !!(#t~post7 < 10);havoc #t~post7; {11330#(<= ~counter~0 6)} is VALID [2022-04-14 16:13:33,650 INFO L290 TraceCheckUtils]: 57: Hoare triple {11305#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11330#(<= ~counter~0 6)} is VALID [2022-04-14 16:13:33,650 INFO L290 TraceCheckUtils]: 56: Hoare triple {11305#(<= ~counter~0 5)} assume !!(0 != ~r~0); {11305#(<= ~counter~0 5)} is VALID [2022-04-14 16:13:33,651 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11148#true} {11305#(<= ~counter~0 5)} #94#return; {11305#(<= ~counter~0 5)} is VALID [2022-04-14 16:13:33,651 INFO L290 TraceCheckUtils]: 54: Hoare triple {11148#true} assume true; {11148#true} is VALID [2022-04-14 16:13:33,651 INFO L290 TraceCheckUtils]: 53: Hoare triple {11148#true} assume !(0 == ~cond); {11148#true} is VALID [2022-04-14 16:13:33,651 INFO L290 TraceCheckUtils]: 52: Hoare triple {11148#true} ~cond := #in~cond; {11148#true} is VALID [2022-04-14 16:13:33,651 INFO L272 TraceCheckUtils]: 51: Hoare triple {11305#(<= ~counter~0 5)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {11148#true} is VALID [2022-04-14 16:13:33,651 INFO L290 TraceCheckUtils]: 50: Hoare triple {11305#(<= ~counter~0 5)} assume !!(#t~post6 < 10);havoc #t~post6; {11305#(<= ~counter~0 5)} is VALID [2022-04-14 16:13:33,652 INFO L290 TraceCheckUtils]: 49: Hoare triple {11280#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11305#(<= ~counter~0 5)} is VALID [2022-04-14 16:13:33,652 INFO L290 TraceCheckUtils]: 48: Hoare triple {11280#(<= ~counter~0 4)} assume !(~r~0 < 0); {11280#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:33,652 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11148#true} {11280#(<= ~counter~0 4)} #98#return; {11280#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:33,652 INFO L290 TraceCheckUtils]: 46: Hoare triple {11148#true} assume true; {11148#true} is VALID [2022-04-14 16:13:33,652 INFO L290 TraceCheckUtils]: 45: Hoare triple {11148#true} assume !(0 == ~cond); {11148#true} is VALID [2022-04-14 16:13:33,652 INFO L290 TraceCheckUtils]: 44: Hoare triple {11148#true} ~cond := #in~cond; {11148#true} is VALID [2022-04-14 16:13:33,652 INFO L272 TraceCheckUtils]: 43: Hoare triple {11280#(<= ~counter~0 4)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {11148#true} is VALID [2022-04-14 16:13:33,653 INFO L290 TraceCheckUtils]: 42: Hoare triple {11280#(<= ~counter~0 4)} assume !!(#t~post8 < 10);havoc #t~post8; {11280#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:33,653 INFO L290 TraceCheckUtils]: 41: Hoare triple {11255#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {11280#(<= ~counter~0 4)} is VALID [2022-04-14 16:13:33,653 INFO L290 TraceCheckUtils]: 40: Hoare triple {11255#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {11255#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:33,654 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {11148#true} {11255#(<= ~counter~0 3)} #98#return; {11255#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:33,654 INFO L290 TraceCheckUtils]: 38: Hoare triple {11148#true} assume true; {11148#true} is VALID [2022-04-14 16:13:33,654 INFO L290 TraceCheckUtils]: 37: Hoare triple {11148#true} assume !(0 == ~cond); {11148#true} is VALID [2022-04-14 16:13:33,654 INFO L290 TraceCheckUtils]: 36: Hoare triple {11148#true} ~cond := #in~cond; {11148#true} is VALID [2022-04-14 16:13:33,654 INFO L272 TraceCheckUtils]: 35: Hoare triple {11255#(<= ~counter~0 3)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {11148#true} is VALID [2022-04-14 16:13:33,654 INFO L290 TraceCheckUtils]: 34: Hoare triple {11255#(<= ~counter~0 3)} assume !!(#t~post8 < 10);havoc #t~post8; {11255#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:33,655 INFO L290 TraceCheckUtils]: 33: Hoare triple {11230#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {11255#(<= ~counter~0 3)} is VALID [2022-04-14 16:13:33,655 INFO L290 TraceCheckUtils]: 32: Hoare triple {11230#(<= ~counter~0 2)} assume !(~r~0 > 0); {11230#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:33,655 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {11148#true} {11230#(<= ~counter~0 2)} #96#return; {11230#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:33,655 INFO L290 TraceCheckUtils]: 30: Hoare triple {11148#true} assume true; {11148#true} is VALID [2022-04-14 16:13:33,655 INFO L290 TraceCheckUtils]: 29: Hoare triple {11148#true} assume !(0 == ~cond); {11148#true} is VALID [2022-04-14 16:13:33,655 INFO L290 TraceCheckUtils]: 28: Hoare triple {11148#true} ~cond := #in~cond; {11148#true} is VALID [2022-04-14 16:13:33,655 INFO L272 TraceCheckUtils]: 27: Hoare triple {11230#(<= ~counter~0 2)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {11148#true} is VALID [2022-04-14 16:13:33,656 INFO L290 TraceCheckUtils]: 26: Hoare triple {11230#(<= ~counter~0 2)} assume !!(#t~post7 < 10);havoc #t~post7; {11230#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:33,656 INFO L290 TraceCheckUtils]: 25: Hoare triple {11205#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11230#(<= ~counter~0 2)} is VALID [2022-04-14 16:13:33,656 INFO L290 TraceCheckUtils]: 24: Hoare triple {11205#(<= ~counter~0 1)} assume !!(0 != ~r~0); {11205#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:33,657 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11148#true} {11205#(<= ~counter~0 1)} #94#return; {11205#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:33,657 INFO L290 TraceCheckUtils]: 22: Hoare triple {11148#true} assume true; {11148#true} is VALID [2022-04-14 16:13:33,657 INFO L290 TraceCheckUtils]: 21: Hoare triple {11148#true} assume !(0 == ~cond); {11148#true} is VALID [2022-04-14 16:13:33,657 INFO L290 TraceCheckUtils]: 20: Hoare triple {11148#true} ~cond := #in~cond; {11148#true} is VALID [2022-04-14 16:13:33,657 INFO L272 TraceCheckUtils]: 19: Hoare triple {11205#(<= ~counter~0 1)} call __VERIFIER_assert((if 4 * (~A~0 + ~r~0) == ~u~0 * ~u~0 - ~v~0 * ~v~0 - 2 * ~u~0 + 2 * ~v~0 then 1 else 0)); {11148#true} is VALID [2022-04-14 16:13:33,657 INFO L290 TraceCheckUtils]: 18: Hoare triple {11205#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {11205#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:33,658 INFO L290 TraceCheckUtils]: 17: Hoare triple {11156#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11205#(<= ~counter~0 1)} is VALID [2022-04-14 16:13:33,658 INFO L290 TraceCheckUtils]: 16: Hoare triple {11156#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {11156#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:33,658 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11148#true} {11156#(<= ~counter~0 0)} #92#return; {11156#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:33,658 INFO L290 TraceCheckUtils]: 14: Hoare triple {11148#true} assume true; {11148#true} is VALID [2022-04-14 16:13:33,658 INFO L290 TraceCheckUtils]: 13: Hoare triple {11148#true} assume !(0 == ~cond); {11148#true} is VALID [2022-04-14 16:13:33,658 INFO L290 TraceCheckUtils]: 12: Hoare triple {11148#true} ~cond := #in~cond; {11148#true} is VALID [2022-04-14 16:13:33,658 INFO L272 TraceCheckUtils]: 11: Hoare triple {11156#(<= ~counter~0 0)} call assume_abort_if_not((if 1 == (if ~A~0 < 0 && 0 != ~A~0 % 2 then ~A~0 % 2 - 2 else ~A~0 % 2) then 1 else 0)); {11148#true} is VALID [2022-04-14 16:13:33,659 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11148#true} {11156#(<= ~counter~0 0)} #90#return; {11156#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:33,659 INFO L290 TraceCheckUtils]: 9: Hoare triple {11148#true} assume true; {11148#true} is VALID [2022-04-14 16:13:33,659 INFO L290 TraceCheckUtils]: 8: Hoare triple {11148#true} assume !(0 == ~cond); {11148#true} is VALID [2022-04-14 16:13:33,659 INFO L290 TraceCheckUtils]: 7: Hoare triple {11148#true} ~cond := #in~cond; {11148#true} is VALID [2022-04-14 16:13:33,659 INFO L272 TraceCheckUtils]: 6: Hoare triple {11156#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {11148#true} is VALID [2022-04-14 16:13:33,659 INFO L290 TraceCheckUtils]: 5: Hoare triple {11156#(<= ~counter~0 0)} havoc ~A~0;havoc ~R~0;havoc ~u~0;havoc ~v~0;havoc ~r~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~R~0 := #t~nondet5;havoc #t~nondet5; {11156#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:33,659 INFO L272 TraceCheckUtils]: 4: Hoare triple {11156#(<= ~counter~0 0)} call #t~ret9 := main(); {11156#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:33,660 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11156#(<= ~counter~0 0)} {11148#true} #102#return; {11156#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:33,660 INFO L290 TraceCheckUtils]: 2: Hoare triple {11156#(<= ~counter~0 0)} assume true; {11156#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:33,660 INFO L290 TraceCheckUtils]: 1: Hoare triple {11148#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11156#(<= ~counter~0 0)} is VALID [2022-04-14 16:13:33,660 INFO L272 TraceCheckUtils]: 0: Hoare triple {11148#true} call ULTIMATE.init(); {11148#true} is VALID [2022-04-14 16:13:33,661 INFO L134 CoverageAnalysis]: Checked inductivity of 216 backedges. 22 proven. 46 refuted. 0 times theorem prover too weak. 148 trivial. 0 not checked. [2022-04-14 16:13:33,661 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 16:13:33,661 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [812551094] [2022-04-14 16:13:33,661 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 16:13:33,661 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [140228365] [2022-04-14 16:13:33,661 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [140228365] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 16:13:33,661 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 16:13:33,661 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 13 [2022-04-14 16:13:33,661 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1701111285] [2022-04-14 16:13:33,661 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 16:13:33,662 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 5.6923076923076925) internal successors, (74), 13 states have internal predecessors, (74), 12 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 10 states have call predecessors, (23), 11 states have call successors, (23) Word has length 97 [2022-04-14 16:13:33,688 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 16:13:33,688 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 5.6923076923076925) internal successors, (74), 13 states have internal predecessors, (74), 12 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 10 states have call predecessors, (23), 11 states have call successors, (23) [2022-04-14 16:13:33,758 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:33,759 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-14 16:13:33,759 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 16:13:33,759 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-14 16:13:33,759 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=88, Unknown=0, NotChecked=0, Total=156 [2022-04-14 16:13:33,759 INFO L87 Difference]: Start difference. First operand 348 states and 464 transitions. Second operand has 13 states, 13 states have (on average 5.6923076923076925) internal successors, (74), 13 states have internal predecessors, (74), 12 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 10 states have call predecessors, (23), 11 states have call successors, (23) [2022-04-14 16:13:34,531 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:34,531 INFO L93 Difference]: Finished difference Result 457 states and 626 transitions. [2022-04-14 16:13:34,531 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-14 16:13:34,532 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 5.6923076923076925) internal successors, (74), 13 states have internal predecessors, (74), 12 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 10 states have call predecessors, (23), 11 states have call successors, (23) Word has length 97 [2022-04-14 16:13:34,532 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 16:13:34,532 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 5.6923076923076925) internal successors, (74), 13 states have internal predecessors, (74), 12 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 10 states have call predecessors, (23), 11 states have call successors, (23) [2022-04-14 16:13:34,534 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 218 transitions. [2022-04-14 16:13:34,534 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 5.6923076923076925) internal successors, (74), 13 states have internal predecessors, (74), 12 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 10 states have call predecessors, (23), 11 states have call successors, (23) [2022-04-14 16:13:34,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 218 transitions. [2022-04-14 16:13:34,537 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 218 transitions. [2022-04-14 16:13:34,675 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 218 edges. 218 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 16:13:34,684 INFO L225 Difference]: With dead ends: 457 [2022-04-14 16:13:34,684 INFO L226 Difference]: Without dead ends: 346 [2022-04-14 16:13:34,684 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 200 GetRequests, 181 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=138, Invalid=242, Unknown=0, NotChecked=0, Total=380 [2022-04-14 16:13:34,685 INFO L913 BasicCegarLoop]: 57 mSDtfsCounter, 156 mSDsluCounter, 173 mSDsCounter, 0 mSdLazyCounter, 111 mSolverCounterSat, 138 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 156 SdHoareTripleChecker+Valid, 230 SdHoareTripleChecker+Invalid, 249 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 138 IncrementalHoareTripleChecker+Valid, 111 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-14 16:13:34,686 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [156 Valid, 230 Invalid, 249 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [138 Valid, 111 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-14 16:13:34,686 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 346 states. [2022-04-14 16:13:34,857 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 346 to 346. [2022-04-14 16:13:34,857 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 16:13:34,858 INFO L82 GeneralOperation]: Start isEquivalent. First operand 346 states. Second operand has 346 states, 261 states have (on average 1.1992337164750957) internal successors, (313), 261 states have internal predecessors, (313), 72 states have call successors, (72), 14 states have call predecessors, (72), 12 states have return successors, (70), 70 states have call predecessors, (70), 70 states have call successors, (70) [2022-04-14 16:13:34,858 INFO L74 IsIncluded]: Start isIncluded. First operand 346 states. Second operand has 346 states, 261 states have (on average 1.1992337164750957) internal successors, (313), 261 states have internal predecessors, (313), 72 states have call successors, (72), 14 states have call predecessors, (72), 12 states have return successors, (70), 70 states have call predecessors, (70), 70 states have call successors, (70) [2022-04-14 16:13:34,859 INFO L87 Difference]: Start difference. First operand 346 states. Second operand has 346 states, 261 states have (on average 1.1992337164750957) internal successors, (313), 261 states have internal predecessors, (313), 72 states have call successors, (72), 14 states have call predecessors, (72), 12 states have return successors, (70), 70 states have call predecessors, (70), 70 states have call successors, (70) [2022-04-14 16:13:34,865 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:34,865 INFO L93 Difference]: Finished difference Result 346 states and 455 transitions. [2022-04-14 16:13:34,865 INFO L276 IsEmpty]: Start isEmpty. Operand 346 states and 455 transitions. [2022-04-14 16:13:34,866 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:34,866 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:34,866 INFO L74 IsIncluded]: Start isIncluded. First operand has 346 states, 261 states have (on average 1.1992337164750957) internal successors, (313), 261 states have internal predecessors, (313), 72 states have call successors, (72), 14 states have call predecessors, (72), 12 states have return successors, (70), 70 states have call predecessors, (70), 70 states have call successors, (70) Second operand 346 states. [2022-04-14 16:13:34,866 INFO L87 Difference]: Start difference. First operand has 346 states, 261 states have (on average 1.1992337164750957) internal successors, (313), 261 states have internal predecessors, (313), 72 states have call successors, (72), 14 states have call predecessors, (72), 12 states have return successors, (70), 70 states have call predecessors, (70), 70 states have call successors, (70) Second operand 346 states. [2022-04-14 16:13:34,872 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 16:13:34,873 INFO L93 Difference]: Finished difference Result 346 states and 455 transitions. [2022-04-14 16:13:34,873 INFO L276 IsEmpty]: Start isEmpty. Operand 346 states and 455 transitions. [2022-04-14 16:13:34,873 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 16:13:34,873 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 16:13:34,873 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 16:13:34,873 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 16:13:34,874 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 346 states, 261 states have (on average 1.1992337164750957) internal successors, (313), 261 states have internal predecessors, (313), 72 states have call successors, (72), 14 states have call predecessors, (72), 12 states have return successors, (70), 70 states have call predecessors, (70), 70 states have call successors, (70) [2022-04-14 16:13:34,880 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 346 states to 346 states and 455 transitions. [2022-04-14 16:13:34,880 INFO L78 Accepts]: Start accepts. Automaton has 346 states and 455 transitions. Word has length 97 [2022-04-14 16:13:34,881 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 16:13:34,881 INFO L478 AbstractCegarLoop]: Abstraction has 346 states and 455 transitions. [2022-04-14 16:13:34,881 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 5.6923076923076925) internal successors, (74), 13 states have internal predecessors, (74), 12 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 10 states have call predecessors, (23), 11 states have call successors, (23) [2022-04-14 16:13:34,881 INFO L276 IsEmpty]: Start isEmpty. Operand 346 states and 455 transitions. [2022-04-14 16:13:34,882 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 104 [2022-04-14 16:13:34,882 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 16:13:34,882 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 16:13:34,905 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-14 16:13:35,095 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-14 16:13:35,095 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 16:13:35,096 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 16:13:35,096 INFO L85 PathProgramCache]: Analyzing trace with hash -1761003221, now seen corresponding path program 1 times [2022-04-14 16:13:35,096 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 16:13:35,096 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [124128906] [2022-04-14 16:13:35,096 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:35,096 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 16:13:35,113 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 16:13:35,114 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1637090399] [2022-04-14 16:13:35,114 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 16:13:35,114 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 16:13:35,114 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 16:13:35,115 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 16:13:35,117 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-14 16:13:35,264 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-14 16:13:35,264 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-04-14 16:13:35,289 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-14 16:13:35,352 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-04-14 16:13:35,353 INFO L618 BasicCegarLoop]: Counterexample is feasible [2022-04-14 16:13:35,353 INFO L788 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-14 16:13:35,385 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-14 16:13:35,583 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 16:13:35,586 INFO L719 BasicCegarLoop]: Path program histogram: [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 16:13:35,587 INFO L177 ceAbstractionStarter]: Computing trace abstraction results [2022-04-14 16:13:35,626 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-14 16:13:35,626 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2022-04-14 16:13:35,626 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-14 16:13:35,626 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-14 16:13:35,626 WARN L170 areAnnotationChecker]: assume_abort_if_notENTRY has no Hoare annotation [2022-04-14 16:13:35,626 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2022-04-14 16:13:35,626 WARN L170 areAnnotationChecker]: __VERIFIER_assertENTRY has no Hoare annotation [2022-04-14 16:13:35,626 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-14 16:13:35,626 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-14 16:13:35,626 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-14 16:13:35,626 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L9 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L9 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L25 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L25 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L9-2 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L25-1 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L25-1 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L12-2 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L27 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L47-3 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L47-3 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L40-1 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L40-1 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L48-1 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L48-1 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L56 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L34-3 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L34-3 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L34-1 has no Hoare annotation [2022-04-14 16:13:35,627 WARN L170 areAnnotationChecker]: L34-1 has no Hoare annotation [2022-04-14 16:13:35,628 WARN L170 areAnnotationChecker]: L39-3 has no Hoare annotation [2022-04-14 16:13:35,628 WARN L170 areAnnotationChecker]: L39-3 has no Hoare annotation [2022-04-14 16:13:35,628 WARN L170 areAnnotationChecker]: L47-2 has no Hoare annotation [2022-04-14 16:13:35,628 WARN L170 areAnnotationChecker]: L47-2 has no Hoare annotation [2022-04-14 16:13:35,628 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-14 16:13:35,628 WARN L170 areAnnotationChecker]: L35 has no Hoare annotation [2022-04-14 16:13:35,628 WARN L170 areAnnotationChecker]: L35 has no Hoare annotation [2022-04-14 16:13:35,628 WARN L170 areAnnotationChecker]: L39-1 has no Hoare annotation [2022-04-14 16:13:35,628 WARN L170 areAnnotationChecker]: L39-1 has no Hoare annotation [2022-04-14 16:13:35,628 WARN L170 areAnnotationChecker]: L47 has no Hoare annotation [2022-04-14 16:13:35,628 WARN L170 areAnnotationChecker]: L47 has no Hoare annotation [2022-04-14 16:13:35,628 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-14 16:13:35,628 WARN L170 areAnnotationChecker]: L40 has no Hoare annotation [2022-04-14 16:13:35,628 WARN L170 areAnnotationChecker]: L40 has no Hoare annotation [2022-04-14 16:13:35,628 WARN L170 areAnnotationChecker]: L48 has no Hoare annotation [2022-04-14 16:13:35,628 WARN L170 areAnnotationChecker]: L48 has no Hoare annotation [2022-04-14 16:13:35,628 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-14 16:13:35,628 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 14.04 04:13:35 BoogieIcfgContainer [2022-04-14 16:13:35,628 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-14 16:13:35,629 INFO L158 Benchmark]: Toolchain (without parser) took 36492.38ms. Allocated memory was 197.1MB in the beginning and 237.0MB in the end (delta: 39.8MB). Free memory was 174.4MB in the beginning and 101.2MB in the end (delta: 73.2MB). Peak memory consumption was 112.4MB. Max. memory is 8.0GB. [2022-04-14 16:13:35,629 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 197.1MB. Free memory is still 160.1MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-14 16:13:35,629 INFO L158 Benchmark]: CACSL2BoogieTranslator took 244.02ms. Allocated memory is still 197.1MB. Free memory was 174.2MB in the beginning and 172.6MB in the end (delta: 1.7MB). Peak memory consumption was 8.9MB. Max. memory is 8.0GB. [2022-04-14 16:13:35,630 INFO L158 Benchmark]: Boogie Preprocessor took 29.95ms. Allocated memory is still 197.1MB. Free memory was 172.6MB in the beginning and 170.9MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-14 16:13:35,630 INFO L158 Benchmark]: RCFGBuilder took 290.66ms. Allocated memory is still 197.1MB. Free memory was 170.9MB in the beginning and 158.6MB in the end (delta: 12.3MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-14 16:13:35,630 INFO L158 Benchmark]: TraceAbstraction took 35915.91ms. Allocated memory was 197.1MB in the beginning and 237.0MB in the end (delta: 39.8MB). Free memory was 158.0MB in the beginning and 101.2MB in the end (delta: 56.7MB). Peak memory consumption was 97.2MB. Max. memory is 8.0GB. [2022-04-14 16:13:35,630 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 197.1MB. Free memory is still 160.1MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 244.02ms. Allocated memory is still 197.1MB. Free memory was 174.2MB in the beginning and 172.6MB in the end (delta: 1.7MB). Peak memory consumption was 8.9MB. Max. memory is 8.0GB. * Boogie Preprocessor took 29.95ms. Allocated memory is still 197.1MB. Free memory was 172.6MB in the beginning and 170.9MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 290.66ms. Allocated memory is still 197.1MB. Free memory was 170.9MB in the beginning and 158.6MB in the end (delta: 12.3MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 35915.91ms. Allocated memory was 197.1MB in the beginning and 237.0MB in the end (delta: 39.8MB). Free memory was 158.0MB in the beginning and 101.2MB in the end (delta: 56.7MB). Peak memory consumption was 97.2MB. 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)=14, 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=7, 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=7, 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=7, counter=0, r=-3, R=2, u=5, v=1] [L34] EXPR counter++ VAL [\old(counter)=0, A=7, counter=1, counter++=0, R=2, r=-3, u=5, v=1] [L34] COND TRUE counter++<10 [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=7, counter=1, R=2, r=-3, u=5, v=1] [L36] COND FALSE !(!(r != 0)) VAL [\old(counter)=0, A=7, counter=1, r=-3, R=2, u=5, v=1] [L39] EXPR counter++ VAL [\old(counter)=0, A=7, counter=2, counter++=1, r=-3, R=2, u=5, v=1] [L39] COND TRUE counter++<10 [L40] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=2] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=2] [L40] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=7, counter=2, r=-3, R=2, u=5, v=1] [L41] COND TRUE !(r > 0) VAL [\old(counter)=0, A=7, counter=2, r=-3, R=2, u=5, v=1] [L47] EXPR counter++ VAL [\old(counter)=0, A=7, counter=3, counter++=2, R=2, r=-3, u=5, v=1] [L47] COND TRUE counter++<10 [L48] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=3] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=3] [L48] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=7, counter=3, r=-3, R=2, u=5, v=1] [L49] COND FALSE !(!(r < 0)) [L51] r = r + u [L52] u = u + 2 VAL [\old(counter)=0, A=7, counter=3, r=2, R=2, u=7, v=1] [L47] EXPR counter++ VAL [\old(counter)=0, A=7, counter=4, counter++=3, r=2, R=2, u=7, v=1] [L47] COND TRUE counter++<10 [L48] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=4] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=4] [L48] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=7, counter=4, r=2, R=2, u=7, v=1] [L49] COND TRUE !(r < 0) VAL [\old(counter)=0, A=7, counter=4, R=2, r=2, u=7, v=1] [L34] EXPR counter++ VAL [\old(counter)=0, A=7, counter=5, counter++=4, r=2, R=2, u=7, v=1] [L34] COND TRUE counter++<10 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=5] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=5] [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=7, counter=5, r=2, R=2, u=7, v=1] [L36] COND FALSE !(!(r != 0)) VAL [\old(counter)=0, A=7, counter=5, R=2, r=2, u=7, v=1] [L39] EXPR counter++ VAL [\old(counter)=0, A=7, counter=6, counter++=5, r=2, R=2, u=7, v=1] [L39] COND TRUE counter++<10 [L40] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=6] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=6] [L40] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=7, counter=6, r=2, R=2, u=7, v=1] [L41] COND FALSE !(!(r > 0)) [L43] r = r - v [L44] v = v + 2 VAL [\old(counter)=0, A=7, counter=6, R=2, r=1, u=7, v=3] [L39] EXPR counter++ VAL [\old(counter)=0, A=7, counter=7, counter++=6, R=2, r=1, u=7, v=3] [L39] COND TRUE counter++<10 [L40] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=7] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=7] [L40] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=7, counter=7, R=2, r=1, u=7, v=3] [L41] COND FALSE !(!(r > 0)) [L43] r = r - v [L44] v = v + 2 VAL [\old(counter)=0, A=7, counter=7, R=2, r=-2, u=7, v=5] [L39] EXPR counter++ VAL [\old(counter)=0, A=7, counter=8, counter++=7, R=2, r=-2, u=7, v=5] [L39] COND TRUE counter++<10 [L40] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=8] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=8] [L40] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=7, counter=8, R=2, r=-2, u=7, v=5] [L41] COND TRUE !(r > 0) VAL [\old(counter)=0, A=7, counter=8, R=2, r=-2, u=7, v=5] [L47] EXPR counter++ VAL [\old(counter)=0, A=7, counter=9, counter++=8, r=-2, R=2, u=7, v=5] [L47] COND TRUE counter++<10 [L48] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=9] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=9] [L48] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=7, counter=9, r=-2, R=2, u=7, v=5] [L49] COND FALSE !(!(r < 0)) [L51] r = r + u [L52] u = u + 2 VAL [\old(counter)=0, A=7, counter=9, r=5, R=2, u=9, v=5] [L47] EXPR counter++ VAL [\old(counter)=0, A=7, counter=10, counter++=9, r=5, R=2, u=9, v=5] [L47] COND TRUE counter++<10 [L48] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=1, \old(counter)=0, counter=10] [L12] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=10] [L48] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) VAL [\old(counter)=0, A=7, counter=10, R=2, r=5, u=9, v=5] [L49] COND TRUE !(r < 0) VAL [\old(counter)=0, A=7, counter=10, r=5, R=2, u=9, v=5] [L34] EXPR counter++ VAL [\old(counter)=0, A=7, counter=11, counter++=10, r=5, R=2, u=9, v=5] [L34] COND FALSE !(counter++<10) [L56] CALL __VERIFIER_assert(((long long) 4*A) == u*u - v*v - 2*u + 2*v) VAL [\old(cond)=0, \old(counter)=0, counter=11] [L12] COND TRUE !(cond) VAL [\old(cond)=0, \old(counter)=0, cond=0, counter=11] [L14] reach_error() VAL [\old(cond)=0, \old(counter)=0, cond=0, counter=11] - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 40 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 35.8s, OverallIterations: 14, TraceHistogramMax: 11, PathProgramHistogramMax: 2, EmptinessCheckTime: 0.0s, AutomataDifference: 18.2s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 1 mSolverCounterUnknown, 883 SdHoareTripleChecker+Valid, 7.1s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 872 mSDsluCounter, 2089 SdHoareTripleChecker+Invalid, 7.1s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1475 mSDsCounter, 517 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 768 IncrementalHoareTripleChecker+Invalid, 1286 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 517 mSolverCounterUnsat, 614 mSDtfsCounter, 768 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1164 GetRequests, 1044 SyntacticMatches, 4 SemanticMatches, 116 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 174 ImplicationChecksByTransitivity, 0.5s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=348occurred in iteration=12, InterpolantAutomatonStates: 128, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.0s AutomataMinimizationTime, 13 MinimizatonAttempts, 89 StatesRemovedByMinimization, 9 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.4s SatisfiabilityAnalysisTime, 7.9s InterpolantComputationTime, 749 NumberOfCodeBlocks, 749 NumberOfCodeBlocksAsserted, 15 NumberOfCheckSat, 1121 ConstructedInterpolants, 0 QuantifiedInterpolants, 2555 SizeOfPredicates, 47 NumberOfNonLiveVariables, 1931 ConjunctsInSsa, 127 ConjunctsInUnsatCore, 21 InterpolantComputations, 6 PerfectInterpolantSequences, 934/1396 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! [2022-04-14 16:13:35,646 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...