/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-34549b5 [2022-04-07 14:01:26,620 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-07 14:01:26,622 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-07 14:01:26,664 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-07 14:01:26,664 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-07 14:01:26,667 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-07 14:01:26,670 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-07 14:01:26,674 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-07 14:01:26,675 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-07 14:01:26,676 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-07 14:01:26,677 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-07 14:01:26,678 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-07 14:01:26,678 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-07 14:01:26,679 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-07 14:01:26,679 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-07 14:01:26,680 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-07 14:01:26,681 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-07 14:01:26,681 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-07 14:01:26,683 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-07 14:01:26,689 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-07 14:01:26,692 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-07 14:01:26,698 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-07 14:01:26,700 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-07 14:01:26,703 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-07 14:01:26,705 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-07 14:01:26,710 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-07 14:01:26,710 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-07 14:01:26,710 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-07 14:01:26,711 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-07 14:01:26,711 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-07 14:01:26,712 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-07 14:01:26,712 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-07 14:01:26,713 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-07 14:01:26,713 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-07 14:01:26,714 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-07 14:01:26,714 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-07 14:01:26,715 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-07 14:01:26,715 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-07 14:01:26,715 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-07 14:01:26,716 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-07 14:01:26,716 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-07 14:01:26,721 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-07 14:01:26,722 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-07 14:01:26,752 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-07 14:01:26,753 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-07 14:01:26,753 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-07 14:01:26,753 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-07 14:01:26,754 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-07 14:01:26,754 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-07 14:01:26,754 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-07 14:01:26,754 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-07 14:01:26,754 INFO L138 SettingsManager]: * Use SBE=true [2022-04-07 14:01:26,755 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-07 14:01:26,755 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-07 14:01:26,756 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-07 14:01:26,756 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-07 14:01:26,756 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-07 14:01:26,756 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-07 14:01:26,756 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-07 14:01:26,756 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-07 14:01:26,757 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-07 14:01:26,757 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-07 14:01:26,757 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-07 14:01:26,757 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-07 14:01:26,758 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-07 14:01:26,758 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-07 14:01:26,758 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-07 14:01:26,758 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 14:01:26,758 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-07 14:01:26,758 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-07 14:01:26,758 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-07 14:01:26,758 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-07 14:01:26,759 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-07 14:01:26,759 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-04-07 14:01:26,759 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-07 14:01:26,759 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-07 14:01:26,759 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-07 14:01:26,965 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-07 14:01:26,987 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-07 14:01:26,989 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-07 14:01:26,990 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-07 14:01:26,991 INFO L275 PluginConnector]: CDTParser initialized [2022-04-07 14:01:26,992 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-07 14:01:27,063 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9daf1451d/9821b5567d824625a27232d1b467b8db/FLAGdf5029c79 [2022-04-07 14:01:27,420 INFO L306 CDTParser]: Found 1 translation units. [2022-04-07 14:01:27,420 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/fermat1-ll_unwindbound10.c [2022-04-07 14:01:27,427 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9daf1451d/9821b5567d824625a27232d1b467b8db/FLAGdf5029c79 [2022-04-07 14:01:27,840 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9daf1451d/9821b5567d824625a27232d1b467b8db [2022-04-07 14:01:27,842 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-07 14:01:27,844 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-07 14:01:27,846 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-07 14:01:27,846 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-07 14:01:27,849 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-07 14:01:27,850 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 02:01:27" (1/1) ... [2022-04-07 14:01:27,851 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@71c66a47 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:01:27, skipping insertion in model container [2022-04-07 14:01:27,851 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 02:01:27" (1/1) ... [2022-04-07 14:01:27,857 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-07 14:01:27,873 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-07 14:01:28,015 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-07 14:01:28,045 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 14:01:28,050 INFO L203 MainTranslator]: Completed pre-run [2022-04-07 14:01:28,060 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-07 14:01:28,069 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 14:01:28,078 INFO L208 MainTranslator]: Completed translation [2022-04-07 14:01:28,079 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:01:28 WrapperNode [2022-04-07 14:01:28,079 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-07 14:01:28,080 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-07 14:01:28,080 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-07 14:01:28,080 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-07 14:01:28,090 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:01:28" (1/1) ... [2022-04-07 14:01:28,090 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:01:28" (1/1) ... [2022-04-07 14:01:28,095 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:01:28" (1/1) ... [2022-04-07 14:01:28,095 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:01:28" (1/1) ... [2022-04-07 14:01:28,101 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:01:28" (1/1) ... [2022-04-07 14:01:28,104 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:01:28" (1/1) ... [2022-04-07 14:01:28,105 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:01:28" (1/1) ... [2022-04-07 14:01:28,107 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-07 14:01:28,108 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-07 14:01:28,108 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-07 14:01:28,108 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-07 14:01:28,109 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:01:28" (1/1) ... [2022-04-07 14:01:28,119 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 14:01:28,133 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:01:28,143 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-07 14:01:28,170 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-07 14:01:28,191 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-07 14:01:28,191 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-07 14:01:28,191 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-07 14:01:28,192 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-07 14:01:28,193 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-07 14:01:28,193 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-07 14:01:28,193 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-07 14:01:28,193 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-07 14:01:28,193 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-07 14:01:28,193 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-07 14:01:28,193 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-07 14:01:28,193 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-07 14:01:28,193 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-07 14:01:28,194 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-07 14:01:28,194 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-07 14:01:28,194 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-07 14:01:28,194 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-07 14:01:28,194 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-07 14:01:28,194 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-07 14:01:28,194 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-07 14:01:28,244 INFO L234 CfgBuilder]: Building ICFG [2022-04-07 14:01:28,245 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-07 14:01:28,387 INFO L275 CfgBuilder]: Performing block encoding [2022-04-07 14:01:28,393 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-07 14:01:28,394 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-07 14:01:28,395 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 02:01:28 BoogieIcfgContainer [2022-04-07 14:01:28,395 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-07 14:01:28,397 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-07 14:01:28,397 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-07 14:01:28,399 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-07 14:01:28,400 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.04 02:01:27" (1/3) ... [2022-04-07 14:01:28,400 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3c95bae8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 02:01:28, skipping insertion in model container [2022-04-07 14:01:28,400 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 02:01:28" (2/3) ... [2022-04-07 14:01:28,401 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3c95bae8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 02:01:28, skipping insertion in model container [2022-04-07 14:01:28,401 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 02:01:28" (3/3) ... [2022-04-07 14:01:28,402 INFO L111 eAbstractionObserver]: Analyzing ICFG fermat1-ll_unwindbound10.c [2022-04-07 14:01:28,406 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-07 14:01:28,406 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-07 14:01:28,440 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-07 14:01:28,445 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-07 14:01:28,446 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-07 14:01:28,464 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-07 14:01:28,468 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-07 14:01:28,468 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:01:28,469 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-07 14:01:28,470 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:01:28,474 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:01:28,474 INFO L85 PathProgramCache]: Analyzing trace with hash 928708300, now seen corresponding path program 1 times [2022-04-07 14:01:28,482 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:01:28,483 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1880751309] [2022-04-07 14:01:28,483 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:01:28,484 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:01:28,574 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:01:28,575 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [99082098] [2022-04-07 14:01:28,575 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:01:28,576 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:01:28,576 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:01:28,577 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-07 14:01:28,622 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-07 14:01:28,685 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:01:28,687 INFO L263 TraceCheckSpWp]: Trace formula consists of 89 conjuncts, 1 conjunts are in the unsatisfiable core [2022-04-07 14:01:28,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:01:28,706 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:01:28,824 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {40#true} is VALID [2022-04-07 14:01:28,824 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-07 14:01:28,824 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-07 14:01:28,824 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #102#return; {40#true} is VALID [2022-04-07 14:01:28,825 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret9 := main(); {40#true} is VALID [2022-04-07 14:01:28,825 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-07 14:01:28,825 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-07 14:01:28,825 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-07 14:01:28,826 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-07 14:01:28,826 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-07 14:01:28,826 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #90#return; {41#false} is VALID [2022-04-07 14:01:28,826 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-07 14:01:28,827 INFO L290 TraceCheckUtils]: 12: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-07 14:01:28,827 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#false} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-07 14:01:28,827 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-07 14:01:28,828 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {41#false} {41#false} #92#return; {41#false} is VALID [2022-04-07 14:01:28,828 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-07 14:01:28,828 INFO L290 TraceCheckUtils]: 17: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-07 14:01:28,829 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-07 14:01:28,829 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-07 14:01:28,829 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-07 14:01:28,830 INFO L290 TraceCheckUtils]: 21: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-07 14:01:28,830 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-07 14:01:28,831 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 14:01:28,831 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:01:28,831 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1880751309] [2022-04-07 14:01:28,831 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:01:28,833 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [99082098] [2022-04-07 14:01:28,834 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [99082098] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 14:01:28,834 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 14:01:28,835 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-04-07 14:01:28,836 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1577920029] [2022-04-07 14:01:28,837 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 14:01:28,843 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-07 14:01:28,844 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:01:28,846 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-07 14:01:28,874 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-07 14:01:28,874 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-04-07 14:01:28,875 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:01:28,898 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-04-07 14:01:28,899 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-04-07 14:01:28,903 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-07 14:01:28,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:01:28,983 INFO L93 Difference]: Finished difference Result 67 states and 100 transitions. [2022-04-07 14:01:28,983 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-04-07 14:01:28,983 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-07 14:01:28,984 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:01:28,985 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-07 14:01:28,993 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 100 transitions. [2022-04-07 14:01:28,993 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-07 14:01:29,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 100 transitions. [2022-04-07 14:01:29,000 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 2 states and 100 transitions. [2022-04-07 14:01:29,101 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-07 14:01:29,117 INFO L225 Difference]: With dead ends: 67 [2022-04-07 14:01:29,117 INFO L226 Difference]: Without dead ends: 32 [2022-04-07 14:01:29,120 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-07 14:01:29,125 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-07 14:01:29,127 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-07 14:01:29,141 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-07 14:01:29,157 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-07 14:01:29,158 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:01:29,159 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-07 14:01:29,160 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-07 14:01:29,160 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-07 14:01:29,170 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:01:29,171 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-07 14:01:29,171 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-07 14:01:29,171 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:01:29,172 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:01:29,172 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-07 14:01:29,172 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-07 14:01:29,176 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:01:29,176 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-07 14:01:29,176 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-07 14:01:29,177 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:01:29,177 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:01:29,177 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:01:29,177 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:01:29,178 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-07 14:01:29,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-07 14:01:29,181 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 22 [2022-04-07 14:01:29,181 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:01:29,182 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-07 14:01:29,182 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-07 14:01:29,182 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-07 14:01:29,183 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-07 14:01:29,183 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:01:29,183 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-07 14:01:29,208 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-07 14:01:29,399 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-07 14:01:29,400 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:01:29,401 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:01:29,401 INFO L85 PathProgramCache]: Analyzing trace with hash -155606603, now seen corresponding path program 1 times [2022-04-07 14:01:29,401 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:01:29,401 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [713925858] [2022-04-07 14:01:29,401 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:01:29,401 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:01:29,431 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:01:29,431 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [897400945] [2022-04-07 14:01:29,431 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:01:29,432 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:01:29,432 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:01:29,433 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-07 14:01:29,444 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-07 14:01:29,482 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:01:29,483 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-07 14:01:29,493 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:01:29,494 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:01:29,642 INFO L272 TraceCheckUtils]: 0: Hoare triple {307#true} call ULTIMATE.init(); {307#true} is VALID [2022-04-07 14:01:29,642 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-07 14:01:29,643 INFO L290 TraceCheckUtils]: 2: Hoare triple {315#(<= ~counter~0 0)} assume true; {315#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:29,643 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {315#(<= ~counter~0 0)} {307#true} #102#return; {315#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:29,644 INFO L272 TraceCheckUtils]: 4: Hoare triple {315#(<= ~counter~0 0)} call #t~ret9 := main(); {315#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:29,644 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-07 14:01:29,645 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-07 14:01:29,645 INFO L290 TraceCheckUtils]: 7: Hoare triple {315#(<= ~counter~0 0)} ~cond := #in~cond; {315#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:29,646 INFO L290 TraceCheckUtils]: 8: Hoare triple {315#(<= ~counter~0 0)} assume !(0 == ~cond); {315#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:29,646 INFO L290 TraceCheckUtils]: 9: Hoare triple {315#(<= ~counter~0 0)} assume true; {315#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:29,647 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {315#(<= ~counter~0 0)} {315#(<= ~counter~0 0)} #90#return; {315#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:29,648 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-07 14:01:29,648 INFO L290 TraceCheckUtils]: 12: Hoare triple {315#(<= ~counter~0 0)} ~cond := #in~cond; {315#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:29,648 INFO L290 TraceCheckUtils]: 13: Hoare triple {315#(<= ~counter~0 0)} assume !(0 == ~cond); {315#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:29,649 INFO L290 TraceCheckUtils]: 14: Hoare triple {315#(<= ~counter~0 0)} assume true; {315#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:29,649 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {315#(<= ~counter~0 0)} {315#(<= ~counter~0 0)} #92#return; {315#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:29,650 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-07 14:01:29,650 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-07 14:01:29,651 INFO L290 TraceCheckUtils]: 18: Hoare triple {364#(<= |main_#t~post6| 0)} assume !(#t~post6 < 10);havoc #t~post6; {308#false} is VALID [2022-04-07 14:01:29,651 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-07 14:01:29,651 INFO L290 TraceCheckUtils]: 20: Hoare triple {308#false} ~cond := #in~cond; {308#false} is VALID [2022-04-07 14:01:29,651 INFO L290 TraceCheckUtils]: 21: Hoare triple {308#false} assume 0 == ~cond; {308#false} is VALID [2022-04-07 14:01:29,652 INFO L290 TraceCheckUtils]: 22: Hoare triple {308#false} assume !false; {308#false} is VALID [2022-04-07 14:01:29,658 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-07 14:01:29,658 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 14:01:29,658 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:01:29,658 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [713925858] [2022-04-07 14:01:29,658 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:01:29,659 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [897400945] [2022-04-07 14:01:29,659 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [897400945] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 14:01:29,659 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 14:01:29,659 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-07 14:01:29,659 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1100115105] [2022-04-07 14:01:29,659 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 14:01:29,660 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-07 14:01:29,660 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:01:29,661 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-07 14:01:29,679 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-07 14:01:29,679 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-07 14:01:29,680 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:01:29,680 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-07 14:01:29,680 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-07 14:01:29,681 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-07 14:01:29,756 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:01:29,756 INFO L93 Difference]: Finished difference Result 41 states and 50 transitions. [2022-04-07 14:01:29,757 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-07 14:01:29,757 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-07 14:01:29,757 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:01:29,757 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-07 14:01:29,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 50 transitions. [2022-04-07 14:01:29,760 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-07 14:01:29,762 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 50 transitions. [2022-04-07 14:01:29,762 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 50 transitions. [2022-04-07 14:01:29,802 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-07 14:01:29,804 INFO L225 Difference]: With dead ends: 41 [2022-04-07 14:01:29,804 INFO L226 Difference]: Without dead ends: 34 [2022-04-07 14:01:29,805 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-07 14:01:29,806 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-07 14:01:29,806 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-07 14:01:29,807 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2022-04-07 14:01:29,814 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 34. [2022-04-07 14:01:29,814 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:01:29,814 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-07 14:01:29,815 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-07 14:01:29,815 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-07 14:01:29,817 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:01:29,817 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-07 14:01:29,817 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-07 14:01:29,818 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:01:29,818 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:01:29,819 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-07 14:01:29,819 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-07 14:01:29,821 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:01:29,821 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-07 14:01:29,821 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-07 14:01:29,822 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:01:29,822 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:01:29,822 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:01:29,822 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:01:29,823 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-07 14:01:29,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 43 transitions. [2022-04-07 14:01:29,825 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 43 transitions. Word has length 23 [2022-04-07 14:01:29,825 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:01:29,825 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 43 transitions. [2022-04-07 14:01:29,825 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-07 14:01:29,825 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-07 14:01:29,826 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-07 14:01:29,826 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:01:29,826 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-07 14:01:29,850 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-07 14:01:30,047 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-07 14:01:30,048 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:01:30,048 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:01:30,049 INFO L85 PathProgramCache]: Analyzing trace with hash -153938307, now seen corresponding path program 1 times [2022-04-07 14:01:30,049 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:01:30,049 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [633490149] [2022-04-07 14:01:30,049 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:01:30,049 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:01:30,065 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:01:30,065 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [53142629] [2022-04-07 14:01:30,065 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:01:30,065 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:01:30,065 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:01:30,066 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-07 14:01:30,107 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-07 14:01:30,132 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:01:30,133 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-07 14:01:30,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:01:30,148 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:01:30,463 INFO L272 TraceCheckUtils]: 0: Hoare triple {554#true} call ULTIMATE.init(); {554#true} is VALID [2022-04-07 14:01:30,464 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-07 14:01:30,464 INFO L290 TraceCheckUtils]: 2: Hoare triple {554#true} assume true; {554#true} is VALID [2022-04-07 14:01:30,464 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {554#true} {554#true} #102#return; {554#true} is VALID [2022-04-07 14:01:30,464 INFO L272 TraceCheckUtils]: 4: Hoare triple {554#true} call #t~ret9 := main(); {554#true} is VALID [2022-04-07 14:01:30,464 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-07 14:01:30,465 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-07 14:01:30,465 INFO L290 TraceCheckUtils]: 7: Hoare triple {554#true} ~cond := #in~cond; {554#true} is VALID [2022-04-07 14:01:30,465 INFO L290 TraceCheckUtils]: 8: Hoare triple {554#true} assume !(0 == ~cond); {554#true} is VALID [2022-04-07 14:01:30,465 INFO L290 TraceCheckUtils]: 9: Hoare triple {554#true} assume true; {554#true} is VALID [2022-04-07 14:01:30,465 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {554#true} {554#true} #90#return; {554#true} is VALID [2022-04-07 14:01:30,465 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-07 14:01:30,466 INFO L290 TraceCheckUtils]: 12: Hoare triple {554#true} ~cond := #in~cond; {554#true} is VALID [2022-04-07 14:01:30,466 INFO L290 TraceCheckUtils]: 13: Hoare triple {554#true} assume !(0 == ~cond); {554#true} is VALID [2022-04-07 14:01:30,466 INFO L290 TraceCheckUtils]: 14: Hoare triple {554#true} assume true; {554#true} is VALID [2022-04-07 14:01:30,466 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {554#true} {554#true} #92#return; {554#true} is VALID [2022-04-07 14:01:32,468 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-07 14:01:32,469 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-07 14:01:32,470 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-07 14:01:34,416 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-07 14:01:34,417 INFO L290 TraceCheckUtils]: 20: Hoare triple {617#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {621#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:01:34,418 INFO L290 TraceCheckUtils]: 21: Hoare triple {621#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {555#false} is VALID [2022-04-07 14:01:34,418 INFO L290 TraceCheckUtils]: 22: Hoare triple {555#false} assume !false; {555#false} is VALID [2022-04-07 14:01:34,418 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-07 14:01:34,418 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 14:01:34,418 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:01:34,419 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [633490149] [2022-04-07 14:01:34,419 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:01:34,419 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [53142629] [2022-04-07 14:01:34,419 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [53142629] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 14:01:34,419 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 14:01:34,419 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-07 14:01:34,419 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [204578867] [2022-04-07 14:01:34,419 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 14:01:34,420 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-07 14:01:34,420 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:01:34,420 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-07 14:01:38,443 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-07 14:01:38,443 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 14:01:38,443 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:01:38,444 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 14:01:38,444 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-07 14:01:38,444 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-07 14:01:42,699 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-07 14:01:47,286 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.20s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 14:01:52,444 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-07 14:01:52,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:01:52,472 INFO L93 Difference]: Finished difference Result 53 states and 70 transitions. [2022-04-07 14:01:52,472 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 14:01:52,473 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-07 14:01:52,473 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:01:52,473 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-07 14:01:52,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 68 transitions. [2022-04-07 14:01:52,476 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-07 14:01:52,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 68 transitions. [2022-04-07 14:01:52,478 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 68 transitions. [2022-04-07 14:01:56,214 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-07 14:01:56,216 INFO L225 Difference]: With dead ends: 53 [2022-04-07 14:01:56,216 INFO L226 Difference]: Without dead ends: 51 [2022-04-07 14:01:56,217 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-07 14:01:56,218 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 16 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 1 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 7.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 119 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 7.3s IncrementalHoareTripleChecker+Time [2022-04-07 14:01:56,218 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 119 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 51 Invalid, 2 Unknown, 0 Unchecked, 7.3s Time] [2022-04-07 14:01:56,219 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-07 14:01:56,230 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-07 14:01:56,230 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:01:56,230 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-07 14:01:56,231 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-07 14:01:56,231 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-07 14:01:56,234 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:01:56,234 INFO L93 Difference]: Finished difference Result 51 states and 68 transitions. [2022-04-07 14:01:56,235 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 68 transitions. [2022-04-07 14:01:56,235 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:01:56,235 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:01:56,236 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-07 14:01:56,236 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-07 14:01:56,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:01:56,239 INFO L93 Difference]: Finished difference Result 51 states and 68 transitions. [2022-04-07 14:01:56,239 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 68 transitions. [2022-04-07 14:01:56,240 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:01:56,240 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:01:56,240 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:01:56,240 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:01:56,241 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-07 14:01:56,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 67 transitions. [2022-04-07 14:01:56,243 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 67 transitions. Word has length 23 [2022-04-07 14:01:56,243 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:01:56,244 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 67 transitions. [2022-04-07 14:01:56,244 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-07 14:01:56,244 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 67 transitions. [2022-04-07 14:01:56,245 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-07 14:01:56,245 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:01:56,245 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-07 14:01:56,263 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-07 14:01:56,445 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-07 14:01:56,446 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:01:56,446 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:01:56,446 INFO L85 PathProgramCache]: Analyzing trace with hash -1676885497, now seen corresponding path program 1 times [2022-04-07 14:01:56,446 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:01:56,446 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [793920907] [2022-04-07 14:01:56,447 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:01:56,447 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:01:56,460 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:01:56,460 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [623252961] [2022-04-07 14:01:56,461 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:01:56,461 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:01:56,461 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:01:56,462 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-07 14:01:56,465 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-07 14:01:56,501 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:01:56,502 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-07 14:01:56,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:01:56,518 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:01:56,704 INFO L272 TraceCheckUtils]: 0: Hoare triple {877#true} call ULTIMATE.init(); {877#true} is VALID [2022-04-07 14:01:56,704 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-07 14:01:56,705 INFO L290 TraceCheckUtils]: 2: Hoare triple {877#true} assume true; {877#true} is VALID [2022-04-07 14:01:56,705 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {877#true} {877#true} #102#return; {877#true} is VALID [2022-04-07 14:01:56,705 INFO L272 TraceCheckUtils]: 4: Hoare triple {877#true} call #t~ret9 := main(); {877#true} is VALID [2022-04-07 14:01:56,705 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-07 14:01:56,705 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-07 14:01:56,705 INFO L290 TraceCheckUtils]: 7: Hoare triple {877#true} ~cond := #in~cond; {877#true} is VALID [2022-04-07 14:01:56,706 INFO L290 TraceCheckUtils]: 8: Hoare triple {877#true} assume !(0 == ~cond); {877#true} is VALID [2022-04-07 14:01:56,706 INFO L290 TraceCheckUtils]: 9: Hoare triple {877#true} assume true; {877#true} is VALID [2022-04-07 14:01:56,706 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {877#true} {877#true} #90#return; {877#true} is VALID [2022-04-07 14:01:56,706 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-07 14:01:56,706 INFO L290 TraceCheckUtils]: 12: Hoare triple {877#true} ~cond := #in~cond; {877#true} is VALID [2022-04-07 14:01:56,706 INFO L290 TraceCheckUtils]: 13: Hoare triple {877#true} assume !(0 == ~cond); {877#true} is VALID [2022-04-07 14:01:56,706 INFO L290 TraceCheckUtils]: 14: Hoare triple {877#true} assume true; {877#true} is VALID [2022-04-07 14:01:56,706 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {877#true} {877#true} #92#return; {877#true} is VALID [2022-04-07 14:01:56,707 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-07 14:01:56,707 INFO L290 TraceCheckUtils]: 17: Hoare triple {877#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {877#true} is VALID [2022-04-07 14:01:56,707 INFO L290 TraceCheckUtils]: 18: Hoare triple {877#true} assume !!(#t~post6 < 10);havoc #t~post6; {877#true} is VALID [2022-04-07 14:01:56,707 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-07 14:01:56,707 INFO L290 TraceCheckUtils]: 20: Hoare triple {877#true} ~cond := #in~cond; {942#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:01:56,708 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-07 14:01:56,708 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-07 14:01:56,709 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-07 14:01:56,710 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-07 14:01:56,711 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-07 14:01:56,711 INFO L290 TraceCheckUtils]: 26: Hoare triple {961#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {965#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:01:56,712 INFO L290 TraceCheckUtils]: 27: Hoare triple {965#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {878#false} is VALID [2022-04-07 14:01:56,712 INFO L290 TraceCheckUtils]: 28: Hoare triple {878#false} assume !false; {878#false} is VALID [2022-04-07 14:01:56,712 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 14:01:56,712 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 14:01:57,156 INFO L290 TraceCheckUtils]: 28: Hoare triple {878#false} assume !false; {878#false} is VALID [2022-04-07 14:01:57,157 INFO L290 TraceCheckUtils]: 27: Hoare triple {965#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {878#false} is VALID [2022-04-07 14:01:57,157 INFO L290 TraceCheckUtils]: 26: Hoare triple {961#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {965#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 14:01:57,158 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-07 14:01:57,159 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-07 14:01:57,160 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-07 14:01:57,162 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-07 14:01:57,162 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-07 14:01:57,167 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-07 14:01:57,167 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-07 14:01:57,167 INFO L290 TraceCheckUtils]: 18: Hoare triple {877#true} assume !!(#t~post6 < 10);havoc #t~post6; {877#true} is VALID [2022-04-07 14:01:57,168 INFO L290 TraceCheckUtils]: 17: Hoare triple {877#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {877#true} is VALID [2022-04-07 14:01:57,168 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-07 14:01:57,168 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {877#true} {877#true} #92#return; {877#true} is VALID [2022-04-07 14:01:57,168 INFO L290 TraceCheckUtils]: 14: Hoare triple {877#true} assume true; {877#true} is VALID [2022-04-07 14:01:57,168 INFO L290 TraceCheckUtils]: 13: Hoare triple {877#true} assume !(0 == ~cond); {877#true} is VALID [2022-04-07 14:01:57,168 INFO L290 TraceCheckUtils]: 12: Hoare triple {877#true} ~cond := #in~cond; {877#true} is VALID [2022-04-07 14:01:57,168 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-07 14:01:57,169 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {877#true} {877#true} #90#return; {877#true} is VALID [2022-04-07 14:01:57,169 INFO L290 TraceCheckUtils]: 9: Hoare triple {877#true} assume true; {877#true} is VALID [2022-04-07 14:01:57,169 INFO L290 TraceCheckUtils]: 8: Hoare triple {877#true} assume !(0 == ~cond); {877#true} is VALID [2022-04-07 14:01:57,169 INFO L290 TraceCheckUtils]: 7: Hoare triple {877#true} ~cond := #in~cond; {877#true} is VALID [2022-04-07 14:01:57,169 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-07 14:01:57,169 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-07 14:01:57,169 INFO L272 TraceCheckUtils]: 4: Hoare triple {877#true} call #t~ret9 := main(); {877#true} is VALID [2022-04-07 14:01:57,169 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {877#true} {877#true} #102#return; {877#true} is VALID [2022-04-07 14:01:57,170 INFO L290 TraceCheckUtils]: 2: Hoare triple {877#true} assume true; {877#true} is VALID [2022-04-07 14:01:57,170 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-07 14:01:57,170 INFO L272 TraceCheckUtils]: 0: Hoare triple {877#true} call ULTIMATE.init(); {877#true} is VALID [2022-04-07 14:01:57,170 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-07 14:01:57,170 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:01:57,170 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [793920907] [2022-04-07 14:01:57,170 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:01:57,170 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [623252961] [2022-04-07 14:01:57,171 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [623252961] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 14:01:57,171 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 14:01:57,171 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-07 14:01:57,171 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1518096988] [2022-04-07 14:01:57,171 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 14:01:57,172 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-07 14:01:57,172 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:01:57,172 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-07 14:01:57,194 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-07 14:01:57,195 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-07 14:01:57,195 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:01:57,196 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-07 14:01:57,196 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-04-07 14:01:57,196 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-07 14:01:57,748 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:01:57,748 INFO L93 Difference]: Finished difference Result 57 states and 73 transitions. [2022-04-07 14:01:57,748 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-07 14:01:57,748 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-07 14:01:57,748 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:01:57,749 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-07 14:01:57,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 47 transitions. [2022-04-07 14:01:57,751 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-07 14:01:57,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 47 transitions. [2022-04-07 14:01:57,752 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 47 transitions. [2022-04-07 14:01:57,796 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-07 14:01:57,797 INFO L225 Difference]: With dead ends: 57 [2022-04-07 14:01:57,797 INFO L226 Difference]: Without dead ends: 52 [2022-04-07 14:01:57,798 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-07 14:01:57,799 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-07 14:01:57,799 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-07 14:01:57,800 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-07 14:01:57,815 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2022-04-07 14:01:57,815 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:01:57,816 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 52 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 14:01:57,816 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 52 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 14:01:57,817 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 52 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 14:01:57,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:01:57,819 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-07 14:01:57,819 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-07 14:01:57,820 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:01:57,820 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:01:57,821 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 52 states. [2022-04-07 14:01:57,821 INFO L87 Difference]: Start difference. First operand has 52 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 52 states. [2022-04-07 14:01:57,823 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:01:57,823 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-07 14:01:57,823 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-07 14:01:57,824 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:01:57,824 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:01:57,824 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:01:57,824 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:01:57,825 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 36 states have internal predecessors, (46), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 14:01:57,827 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 66 transitions. [2022-04-07 14:01:57,827 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 66 transitions. Word has length 29 [2022-04-07 14:01:57,827 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:01:57,827 INFO L478 AbstractCegarLoop]: Abstraction has 52 states and 66 transitions. [2022-04-07 14:01:57,827 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-07 14:01:57,828 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-07 14:01:57,828 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-07 14:01:57,828 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:01:57,828 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-07 14:01:57,854 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-07 14:01:58,043 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-07 14:01:58,043 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:01:58,044 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:01:58,044 INFO L85 PathProgramCache]: Analyzing trace with hash 1154059858, now seen corresponding path program 1 times [2022-04-07 14:01:58,044 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:01:58,044 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [682201963] [2022-04-07 14:01:58,044 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:01:58,044 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:01:58,062 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:01:58,063 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [937260124] [2022-04-07 14:01:58,063 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:01:58,063 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:01:58,063 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:01:58,069 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-07 14:01:58,071 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-07 14:01:58,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:01:58,110 INFO L263 TraceCheckSpWp]: Trace formula consists of 118 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-07 14:01:58,127 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:01:58,128 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:01:58,286 INFO L272 TraceCheckUtils]: 0: Hoare triple {1324#true} call ULTIMATE.init(); {1324#true} is VALID [2022-04-07 14:01:58,286 INFO L290 TraceCheckUtils]: 1: Hoare triple {1324#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; {1332#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:58,291 INFO L290 TraceCheckUtils]: 2: Hoare triple {1332#(<= ~counter~0 0)} assume true; {1332#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:58,292 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1332#(<= ~counter~0 0)} {1324#true} #102#return; {1332#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:58,292 INFO L272 TraceCheckUtils]: 4: Hoare triple {1332#(<= ~counter~0 0)} call #t~ret9 := main(); {1332#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:58,292 INFO L290 TraceCheckUtils]: 5: Hoare triple {1332#(<= ~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; {1332#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:58,297 INFO L272 TraceCheckUtils]: 6: Hoare triple {1332#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {1332#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:58,297 INFO L290 TraceCheckUtils]: 7: Hoare triple {1332#(<= ~counter~0 0)} ~cond := #in~cond; {1332#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:58,298 INFO L290 TraceCheckUtils]: 8: Hoare triple {1332#(<= ~counter~0 0)} assume !(0 == ~cond); {1332#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:58,298 INFO L290 TraceCheckUtils]: 9: Hoare triple {1332#(<= ~counter~0 0)} assume true; {1332#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:58,299 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1332#(<= ~counter~0 0)} {1332#(<= ~counter~0 0)} #90#return; {1332#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:58,299 INFO L272 TraceCheckUtils]: 11: Hoare triple {1332#(<= ~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)); {1332#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:58,299 INFO L290 TraceCheckUtils]: 12: Hoare triple {1332#(<= ~counter~0 0)} ~cond := #in~cond; {1332#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:58,300 INFO L290 TraceCheckUtils]: 13: Hoare triple {1332#(<= ~counter~0 0)} assume !(0 == ~cond); {1332#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:58,302 INFO L290 TraceCheckUtils]: 14: Hoare triple {1332#(<= ~counter~0 0)} assume true; {1332#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:58,302 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1332#(<= ~counter~0 0)} {1332#(<= ~counter~0 0)} #92#return; {1332#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:58,303 INFO L290 TraceCheckUtils]: 16: Hoare triple {1332#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {1332#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:58,303 INFO L290 TraceCheckUtils]: 17: Hoare triple {1332#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1381#(<= ~counter~0 1)} is VALID [2022-04-07 14:01:58,304 INFO L290 TraceCheckUtils]: 18: Hoare triple {1381#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {1381#(<= ~counter~0 1)} is VALID [2022-04-07 14:01:58,304 INFO L272 TraceCheckUtils]: 19: Hoare triple {1381#(<= ~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)); {1381#(<= ~counter~0 1)} is VALID [2022-04-07 14:01:58,305 INFO L290 TraceCheckUtils]: 20: Hoare triple {1381#(<= ~counter~0 1)} ~cond := #in~cond; {1381#(<= ~counter~0 1)} is VALID [2022-04-07 14:01:58,305 INFO L290 TraceCheckUtils]: 21: Hoare triple {1381#(<= ~counter~0 1)} assume !(0 == ~cond); {1381#(<= ~counter~0 1)} is VALID [2022-04-07 14:01:58,305 INFO L290 TraceCheckUtils]: 22: Hoare triple {1381#(<= ~counter~0 1)} assume true; {1381#(<= ~counter~0 1)} is VALID [2022-04-07 14:01:58,306 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1381#(<= ~counter~0 1)} {1381#(<= ~counter~0 1)} #94#return; {1381#(<= ~counter~0 1)} is VALID [2022-04-07 14:01:58,306 INFO L290 TraceCheckUtils]: 24: Hoare triple {1381#(<= ~counter~0 1)} assume !!(0 != ~r~0); {1381#(<= ~counter~0 1)} is VALID [2022-04-07 14:01:58,307 INFO L290 TraceCheckUtils]: 25: Hoare triple {1381#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1406#(<= |main_#t~post7| 1)} is VALID [2022-04-07 14:01:58,307 INFO L290 TraceCheckUtils]: 26: Hoare triple {1406#(<= |main_#t~post7| 1)} assume !(#t~post7 < 10);havoc #t~post7; {1325#false} is VALID [2022-04-07 14:01:58,307 INFO L290 TraceCheckUtils]: 27: Hoare triple {1325#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {1325#false} is VALID [2022-04-07 14:01:58,307 INFO L290 TraceCheckUtils]: 28: Hoare triple {1325#false} assume !(#t~post8 < 10);havoc #t~post8; {1325#false} is VALID [2022-04-07 14:01:58,307 INFO L290 TraceCheckUtils]: 29: Hoare triple {1325#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1325#false} is VALID [2022-04-07 14:01:58,307 INFO L290 TraceCheckUtils]: 30: Hoare triple {1325#false} assume !(#t~post6 < 10);havoc #t~post6; {1325#false} is VALID [2022-04-07 14:01:58,307 INFO L272 TraceCheckUtils]: 31: Hoare triple {1325#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)); {1325#false} is VALID [2022-04-07 14:01:58,307 INFO L290 TraceCheckUtils]: 32: Hoare triple {1325#false} ~cond := #in~cond; {1325#false} is VALID [2022-04-07 14:01:58,308 INFO L290 TraceCheckUtils]: 33: Hoare triple {1325#false} assume 0 == ~cond; {1325#false} is VALID [2022-04-07 14:01:58,308 INFO L290 TraceCheckUtils]: 34: Hoare triple {1325#false} assume !false; {1325#false} is VALID [2022-04-07 14:01:58,308 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-07 14:01:58,308 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 14:01:58,308 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:01:58,308 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [682201963] [2022-04-07 14:01:58,308 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:01:58,308 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [937260124] [2022-04-07 14:01:58,308 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [937260124] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 14:01:58,308 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 14:01:58,308 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-07 14:01:58,308 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1565228049] [2022-04-07 14:01:58,309 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 14:01:58,309 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-07 14:01:58,309 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:01:58,309 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-07 14:01:58,332 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-07 14:01:58,332 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 14:01:58,332 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:01:58,332 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 14:01:58,333 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-07 14:01:58,333 INFO L87 Difference]: Start difference. First operand 52 states and 66 transitions. Second operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 4 states have internal predecessors, (22), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-07 14:01:58,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:01:58,468 INFO L93 Difference]: Finished difference Result 97 states and 125 transitions. [2022-04-07 14:01:58,468 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 14:01:58,468 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-07 14:01:58,468 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:01:58,468 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-07 14:01:58,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 77 transitions. [2022-04-07 14:01:58,471 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-07 14:01:58,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 77 transitions. [2022-04-07 14:01:58,473 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 77 transitions. [2022-04-07 14:01:58,525 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-07 14:01:58,527 INFO L225 Difference]: With dead ends: 97 [2022-04-07 14:01:58,527 INFO L226 Difference]: Without dead ends: 60 [2022-04-07 14:01:58,527 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-07 14:01:58,528 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-07 14:01:58,529 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-07 14:01:58,529 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-07 14:01:58,545 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 60. [2022-04-07 14:01:58,545 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:01:58,545 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 60 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 14:01:58,546 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 60 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 14:01:58,546 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 60 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 14:01:58,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:01:58,549 INFO L93 Difference]: Finished difference Result 60 states and 74 transitions. [2022-04-07 14:01:58,549 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 74 transitions. [2022-04-07 14:01:58,549 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:01:58,549 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:01:58,549 INFO L74 IsIncluded]: Start isIncluded. First operand has 60 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 60 states. [2022-04-07 14:01:58,550 INFO L87 Difference]: Start difference. First operand has 60 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 60 states. [2022-04-07 14:01:58,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:01:58,552 INFO L93 Difference]: Finished difference Result 60 states and 74 transitions. [2022-04-07 14:01:58,552 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 74 transitions. [2022-04-07 14:01:58,553 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:01:58,553 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:01:58,553 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:01:58,553 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:01:58,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 42 states have internal predecessors, (52), 12 states have call successors, (12), 7 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 14:01:58,555 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 74 transitions. [2022-04-07 14:01:58,556 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 74 transitions. Word has length 35 [2022-04-07 14:01:58,556 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:01:58,556 INFO L478 AbstractCegarLoop]: Abstraction has 60 states and 74 transitions. [2022-04-07 14:01:58,556 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-07 14:01:58,556 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 74 transitions. [2022-04-07 14:01:58,557 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-07 14:01:58,557 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:01:58,557 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-07 14:01:58,582 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-07 14:01:58,771 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-07 14:01:58,771 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:01:58,772 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:01:58,772 INFO L85 PathProgramCache]: Analyzing trace with hash -174895632, now seen corresponding path program 1 times [2022-04-07 14:01:58,772 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:01:58,772 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1376866908] [2022-04-07 14:01:58,772 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:01:58,772 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:01:58,784 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:01:58,784 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [651346486] [2022-04-07 14:01:58,785 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:01:58,785 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:01:58,785 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:01:58,786 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-07 14:01:58,793 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-07 14:01:58,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:01:58,843 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-07 14:01:58,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:01:58,856 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:01:59,092 INFO L272 TraceCheckUtils]: 0: Hoare triple {1774#true} call ULTIMATE.init(); {1774#true} is VALID [2022-04-07 14:01:59,093 INFO L290 TraceCheckUtils]: 1: Hoare triple {1774#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; {1782#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:59,093 INFO L290 TraceCheckUtils]: 2: Hoare triple {1782#(<= ~counter~0 0)} assume true; {1782#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:59,094 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1782#(<= ~counter~0 0)} {1774#true} #102#return; {1782#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:59,094 INFO L272 TraceCheckUtils]: 4: Hoare triple {1782#(<= ~counter~0 0)} call #t~ret9 := main(); {1782#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:59,095 INFO L290 TraceCheckUtils]: 5: Hoare triple {1782#(<= ~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; {1782#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:59,095 INFO L272 TraceCheckUtils]: 6: Hoare triple {1782#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {1782#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:59,096 INFO L290 TraceCheckUtils]: 7: Hoare triple {1782#(<= ~counter~0 0)} ~cond := #in~cond; {1782#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:59,096 INFO L290 TraceCheckUtils]: 8: Hoare triple {1782#(<= ~counter~0 0)} assume !(0 == ~cond); {1782#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:59,096 INFO L290 TraceCheckUtils]: 9: Hoare triple {1782#(<= ~counter~0 0)} assume true; {1782#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:59,097 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1782#(<= ~counter~0 0)} {1782#(<= ~counter~0 0)} #90#return; {1782#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:59,097 INFO L272 TraceCheckUtils]: 11: Hoare triple {1782#(<= ~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)); {1782#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:59,098 INFO L290 TraceCheckUtils]: 12: Hoare triple {1782#(<= ~counter~0 0)} ~cond := #in~cond; {1782#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:59,098 INFO L290 TraceCheckUtils]: 13: Hoare triple {1782#(<= ~counter~0 0)} assume !(0 == ~cond); {1782#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:59,098 INFO L290 TraceCheckUtils]: 14: Hoare triple {1782#(<= ~counter~0 0)} assume true; {1782#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:59,099 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1782#(<= ~counter~0 0)} {1782#(<= ~counter~0 0)} #92#return; {1782#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:59,099 INFO L290 TraceCheckUtils]: 16: Hoare triple {1782#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {1782#(<= ~counter~0 0)} is VALID [2022-04-07 14:01:59,100 INFO L290 TraceCheckUtils]: 17: Hoare triple {1782#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1831#(<= ~counter~0 1)} is VALID [2022-04-07 14:01:59,101 INFO L290 TraceCheckUtils]: 18: Hoare triple {1831#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {1831#(<= ~counter~0 1)} is VALID [2022-04-07 14:01:59,101 INFO L272 TraceCheckUtils]: 19: Hoare triple {1831#(<= ~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)); {1831#(<= ~counter~0 1)} is VALID [2022-04-07 14:01:59,102 INFO L290 TraceCheckUtils]: 20: Hoare triple {1831#(<= ~counter~0 1)} ~cond := #in~cond; {1831#(<= ~counter~0 1)} is VALID [2022-04-07 14:01:59,102 INFO L290 TraceCheckUtils]: 21: Hoare triple {1831#(<= ~counter~0 1)} assume !(0 == ~cond); {1831#(<= ~counter~0 1)} is VALID [2022-04-07 14:01:59,103 INFO L290 TraceCheckUtils]: 22: Hoare triple {1831#(<= ~counter~0 1)} assume true; {1831#(<= ~counter~0 1)} is VALID [2022-04-07 14:01:59,104 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1831#(<= ~counter~0 1)} {1831#(<= ~counter~0 1)} #94#return; {1831#(<= ~counter~0 1)} is VALID [2022-04-07 14:01:59,105 INFO L290 TraceCheckUtils]: 24: Hoare triple {1831#(<= ~counter~0 1)} assume !!(0 != ~r~0); {1831#(<= ~counter~0 1)} is VALID [2022-04-07 14:01:59,105 INFO L290 TraceCheckUtils]: 25: Hoare triple {1831#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1856#(<= ~counter~0 2)} is VALID [2022-04-07 14:01:59,108 INFO L290 TraceCheckUtils]: 26: Hoare triple {1856#(<= ~counter~0 2)} assume !!(#t~post7 < 10);havoc #t~post7; {1856#(<= ~counter~0 2)} is VALID [2022-04-07 14:01:59,109 INFO L272 TraceCheckUtils]: 27: Hoare triple {1856#(<= ~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)); {1856#(<= ~counter~0 2)} is VALID [2022-04-07 14:01:59,110 INFO L290 TraceCheckUtils]: 28: Hoare triple {1856#(<= ~counter~0 2)} ~cond := #in~cond; {1856#(<= ~counter~0 2)} is VALID [2022-04-07 14:01:59,110 INFO L290 TraceCheckUtils]: 29: Hoare triple {1856#(<= ~counter~0 2)} assume !(0 == ~cond); {1856#(<= ~counter~0 2)} is VALID [2022-04-07 14:01:59,110 INFO L290 TraceCheckUtils]: 30: Hoare triple {1856#(<= ~counter~0 2)} assume true; {1856#(<= ~counter~0 2)} is VALID [2022-04-07 14:01:59,111 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1856#(<= ~counter~0 2)} {1856#(<= ~counter~0 2)} #96#return; {1856#(<= ~counter~0 2)} is VALID [2022-04-07 14:01:59,111 INFO L290 TraceCheckUtils]: 32: Hoare triple {1856#(<= ~counter~0 2)} assume !(~r~0 > 0); {1856#(<= ~counter~0 2)} is VALID [2022-04-07 14:01:59,112 INFO L290 TraceCheckUtils]: 33: Hoare triple {1856#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {1881#(<= |main_#t~post8| 2)} is VALID [2022-04-07 14:01:59,112 INFO L290 TraceCheckUtils]: 34: Hoare triple {1881#(<= |main_#t~post8| 2)} assume !(#t~post8 < 10);havoc #t~post8; {1775#false} is VALID [2022-04-07 14:01:59,112 INFO L290 TraceCheckUtils]: 35: Hoare triple {1775#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1775#false} is VALID [2022-04-07 14:01:59,112 INFO L290 TraceCheckUtils]: 36: Hoare triple {1775#false} assume !(#t~post6 < 10);havoc #t~post6; {1775#false} is VALID [2022-04-07 14:01:59,116 INFO L272 TraceCheckUtils]: 37: Hoare triple {1775#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)); {1775#false} is VALID [2022-04-07 14:01:59,116 INFO L290 TraceCheckUtils]: 38: Hoare triple {1775#false} ~cond := #in~cond; {1775#false} is VALID [2022-04-07 14:01:59,116 INFO L290 TraceCheckUtils]: 39: Hoare triple {1775#false} assume 0 == ~cond; {1775#false} is VALID [2022-04-07 14:01:59,116 INFO L290 TraceCheckUtils]: 40: Hoare triple {1775#false} assume !false; {1775#false} is VALID [2022-04-07 14:01:59,116 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-07 14:01:59,116 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 14:01:59,346 INFO L290 TraceCheckUtils]: 40: Hoare triple {1775#false} assume !false; {1775#false} is VALID [2022-04-07 14:01:59,346 INFO L290 TraceCheckUtils]: 39: Hoare triple {1775#false} assume 0 == ~cond; {1775#false} is VALID [2022-04-07 14:01:59,346 INFO L290 TraceCheckUtils]: 38: Hoare triple {1775#false} ~cond := #in~cond; {1775#false} is VALID [2022-04-07 14:01:59,346 INFO L272 TraceCheckUtils]: 37: Hoare triple {1775#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)); {1775#false} is VALID [2022-04-07 14:01:59,346 INFO L290 TraceCheckUtils]: 36: Hoare triple {1775#false} assume !(#t~post6 < 10);havoc #t~post6; {1775#false} is VALID [2022-04-07 14:01:59,346 INFO L290 TraceCheckUtils]: 35: Hoare triple {1775#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1775#false} is VALID [2022-04-07 14:01:59,347 INFO L290 TraceCheckUtils]: 34: Hoare triple {1921#(< |main_#t~post8| 10)} assume !(#t~post8 < 10);havoc #t~post8; {1775#false} is VALID [2022-04-07 14:01:59,347 INFO L290 TraceCheckUtils]: 33: Hoare triple {1925#(< ~counter~0 10)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {1921#(< |main_#t~post8| 10)} is VALID [2022-04-07 14:01:59,347 INFO L290 TraceCheckUtils]: 32: Hoare triple {1925#(< ~counter~0 10)} assume !(~r~0 > 0); {1925#(< ~counter~0 10)} is VALID [2022-04-07 14:01:59,348 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {1774#true} {1925#(< ~counter~0 10)} #96#return; {1925#(< ~counter~0 10)} is VALID [2022-04-07 14:01:59,348 INFO L290 TraceCheckUtils]: 30: Hoare triple {1774#true} assume true; {1774#true} is VALID [2022-04-07 14:01:59,348 INFO L290 TraceCheckUtils]: 29: Hoare triple {1774#true} assume !(0 == ~cond); {1774#true} is VALID [2022-04-07 14:01:59,348 INFO L290 TraceCheckUtils]: 28: Hoare triple {1774#true} ~cond := #in~cond; {1774#true} is VALID [2022-04-07 14:01:59,348 INFO L272 TraceCheckUtils]: 27: Hoare triple {1925#(< ~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)); {1774#true} is VALID [2022-04-07 14:01:59,349 INFO L290 TraceCheckUtils]: 26: Hoare triple {1925#(< ~counter~0 10)} assume !!(#t~post7 < 10);havoc #t~post7; {1925#(< ~counter~0 10)} is VALID [2022-04-07 14:01:59,349 INFO L290 TraceCheckUtils]: 25: Hoare triple {1950#(< ~counter~0 9)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1925#(< ~counter~0 10)} is VALID [2022-04-07 14:01:59,349 INFO L290 TraceCheckUtils]: 24: Hoare triple {1950#(< ~counter~0 9)} assume !!(0 != ~r~0); {1950#(< ~counter~0 9)} is VALID [2022-04-07 14:01:59,350 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1774#true} {1950#(< ~counter~0 9)} #94#return; {1950#(< ~counter~0 9)} is VALID [2022-04-07 14:01:59,350 INFO L290 TraceCheckUtils]: 22: Hoare triple {1774#true} assume true; {1774#true} is VALID [2022-04-07 14:01:59,350 INFO L290 TraceCheckUtils]: 21: Hoare triple {1774#true} assume !(0 == ~cond); {1774#true} is VALID [2022-04-07 14:01:59,350 INFO L290 TraceCheckUtils]: 20: Hoare triple {1774#true} ~cond := #in~cond; {1774#true} is VALID [2022-04-07 14:01:59,350 INFO L272 TraceCheckUtils]: 19: Hoare triple {1950#(< ~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)); {1774#true} is VALID [2022-04-07 14:01:59,351 INFO L290 TraceCheckUtils]: 18: Hoare triple {1950#(< ~counter~0 9)} assume !!(#t~post6 < 10);havoc #t~post6; {1950#(< ~counter~0 9)} is VALID [2022-04-07 14:01:59,351 INFO L290 TraceCheckUtils]: 17: Hoare triple {1975#(< ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1950#(< ~counter~0 9)} is VALID [2022-04-07 14:01:59,352 INFO L290 TraceCheckUtils]: 16: Hoare triple {1975#(< ~counter~0 8)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {1975#(< ~counter~0 8)} is VALID [2022-04-07 14:01:59,352 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1774#true} {1975#(< ~counter~0 8)} #92#return; {1975#(< ~counter~0 8)} is VALID [2022-04-07 14:01:59,352 INFO L290 TraceCheckUtils]: 14: Hoare triple {1774#true} assume true; {1774#true} is VALID [2022-04-07 14:01:59,352 INFO L290 TraceCheckUtils]: 13: Hoare triple {1774#true} assume !(0 == ~cond); {1774#true} is VALID [2022-04-07 14:01:59,352 INFO L290 TraceCheckUtils]: 12: Hoare triple {1774#true} ~cond := #in~cond; {1774#true} is VALID [2022-04-07 14:01:59,352 INFO L272 TraceCheckUtils]: 11: Hoare triple {1975#(< ~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)); {1774#true} is VALID [2022-04-07 14:01:59,353 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1774#true} {1975#(< ~counter~0 8)} #90#return; {1975#(< ~counter~0 8)} is VALID [2022-04-07 14:01:59,353 INFO L290 TraceCheckUtils]: 9: Hoare triple {1774#true} assume true; {1774#true} is VALID [2022-04-07 14:01:59,353 INFO L290 TraceCheckUtils]: 8: Hoare triple {1774#true} assume !(0 == ~cond); {1774#true} is VALID [2022-04-07 14:01:59,353 INFO L290 TraceCheckUtils]: 7: Hoare triple {1774#true} ~cond := #in~cond; {1774#true} is VALID [2022-04-07 14:01:59,353 INFO L272 TraceCheckUtils]: 6: Hoare triple {1975#(< ~counter~0 8)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {1774#true} is VALID [2022-04-07 14:01:59,354 INFO L290 TraceCheckUtils]: 5: Hoare triple {1975#(< ~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; {1975#(< ~counter~0 8)} is VALID [2022-04-07 14:01:59,354 INFO L272 TraceCheckUtils]: 4: Hoare triple {1975#(< ~counter~0 8)} call #t~ret9 := main(); {1975#(< ~counter~0 8)} is VALID [2022-04-07 14:01:59,355 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1975#(< ~counter~0 8)} {1774#true} #102#return; {1975#(< ~counter~0 8)} is VALID [2022-04-07 14:01:59,355 INFO L290 TraceCheckUtils]: 2: Hoare triple {1975#(< ~counter~0 8)} assume true; {1975#(< ~counter~0 8)} is VALID [2022-04-07 14:01:59,356 INFO L290 TraceCheckUtils]: 1: Hoare triple {1774#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; {1975#(< ~counter~0 8)} is VALID [2022-04-07 14:01:59,356 INFO L272 TraceCheckUtils]: 0: Hoare triple {1774#true} call ULTIMATE.init(); {1774#true} is VALID [2022-04-07 14:01:59,356 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-07 14:01:59,356 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:01:59,356 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1376866908] [2022-04-07 14:01:59,356 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:01:59,356 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [651346486] [2022-04-07 14:01:59,356 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [651346486] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-07 14:01:59,357 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-07 14:01:59,357 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [6] total 10 [2022-04-07 14:01:59,357 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2072047019] [2022-04-07 14:01:59,357 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 14:01:59,357 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-07 14:01:59,358 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:01:59,358 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-07 14:01:59,386 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-07 14:01:59,386 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-07 14:01:59,386 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:01:59,386 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-07 14:01:59,387 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-07 14:01:59,387 INFO L87 Difference]: Start difference. First operand 60 states and 74 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-07 14:01:59,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:01:59,555 INFO L93 Difference]: Finished difference Result 106 states and 135 transitions. [2022-04-07 14:01:59,555 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-07 14:01:59,555 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-07 14:01:59,555 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:01:59,556 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-07 14:01:59,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 87 transitions. [2022-04-07 14:01:59,558 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-07 14:01:59,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 87 transitions. [2022-04-07 14:01:59,559 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 87 transitions. [2022-04-07 14:01:59,634 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-07 14:01:59,635 INFO L225 Difference]: With dead ends: 106 [2022-04-07 14:01:59,635 INFO L226 Difference]: Without dead ends: 69 [2022-04-07 14:01:59,636 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-07 14:01:59,637 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 31 mSDsluCounter, 71 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 109 SdHoareTripleChecker+Invalid, 36 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 14:01:59,637 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 109 Invalid, 36 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 14:01:59,638 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-07 14:01:59,659 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 68. [2022-04-07 14:01:59,660 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:01:59,660 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 68 states, 48 states have (on average 1.2291666666666667) internal successors, (59), 48 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-07 14:01:59,660 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 68 states, 48 states have (on average 1.2291666666666667) internal successors, (59), 48 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-07 14:01:59,660 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 68 states, 48 states have (on average 1.2291666666666667) internal successors, (59), 48 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-07 14:01:59,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:01:59,663 INFO L93 Difference]: Finished difference Result 69 states and 84 transitions. [2022-04-07 14:01:59,663 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 84 transitions. [2022-04-07 14:01:59,663 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:01:59,663 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:01:59,664 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 48 states have (on average 1.2291666666666667) internal successors, (59), 48 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 69 states. [2022-04-07 14:01:59,664 INFO L87 Difference]: Start difference. First operand has 68 states, 48 states have (on average 1.2291666666666667) internal successors, (59), 48 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 69 states. [2022-04-07 14:01:59,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:01:59,666 INFO L93 Difference]: Finished difference Result 69 states and 84 transitions. [2022-04-07 14:01:59,666 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 84 transitions. [2022-04-07 14:01:59,667 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:01:59,667 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:01:59,667 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:01:59,667 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:01:59,667 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 48 states have (on average 1.2291666666666667) internal successors, (59), 48 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 6 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-07 14:01:59,669 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 83 transitions. [2022-04-07 14:01:59,669 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 83 transitions. Word has length 41 [2022-04-07 14:01:59,669 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:01:59,669 INFO L478 AbstractCegarLoop]: Abstraction has 68 states and 83 transitions. [2022-04-07 14:01:59,670 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-07 14:01:59,670 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 83 transitions. [2022-04-07 14:01:59,670 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-07 14:01:59,670 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:01:59,670 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-07 14:01:59,695 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-07 14:01:59,892 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-07 14:01:59,892 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:01:59,893 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:01:59,893 INFO L85 PathProgramCache]: Analyzing trace with hash -1292932747, now seen corresponding path program 1 times [2022-04-07 14:01:59,893 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:01:59,893 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1180097792] [2022-04-07 14:01:59,893 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:01:59,893 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:01:59,908 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:01:59,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1879182579] [2022-04-07 14:01:59,908 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:01:59,909 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:01:59,909 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:01:59,909 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-07 14:01:59,922 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-07 14:01:59,963 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:01:59,964 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-07 14:01:59,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:01:59,982 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:02:00,209 INFO L272 TraceCheckUtils]: 0: Hoare triple {2410#true} call ULTIMATE.init(); {2410#true} is VALID [2022-04-07 14:02:00,210 INFO L290 TraceCheckUtils]: 1: Hoare triple {2410#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; {2418#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:00,210 INFO L290 TraceCheckUtils]: 2: Hoare triple {2418#(<= ~counter~0 0)} assume true; {2418#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:00,211 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2418#(<= ~counter~0 0)} {2410#true} #102#return; {2418#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:00,211 INFO L272 TraceCheckUtils]: 4: Hoare triple {2418#(<= ~counter~0 0)} call #t~ret9 := main(); {2418#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:00,212 INFO L290 TraceCheckUtils]: 5: Hoare triple {2418#(<= ~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; {2418#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:00,212 INFO L272 TraceCheckUtils]: 6: Hoare triple {2418#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {2418#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:00,213 INFO L290 TraceCheckUtils]: 7: Hoare triple {2418#(<= ~counter~0 0)} ~cond := #in~cond; {2418#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:00,215 INFO L290 TraceCheckUtils]: 8: Hoare triple {2418#(<= ~counter~0 0)} assume !(0 == ~cond); {2418#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:00,217 INFO L290 TraceCheckUtils]: 9: Hoare triple {2418#(<= ~counter~0 0)} assume true; {2418#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:00,218 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2418#(<= ~counter~0 0)} {2418#(<= ~counter~0 0)} #90#return; {2418#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:00,218 INFO L272 TraceCheckUtils]: 11: Hoare triple {2418#(<= ~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)); {2418#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:00,221 INFO L290 TraceCheckUtils]: 12: Hoare triple {2418#(<= ~counter~0 0)} ~cond := #in~cond; {2418#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:00,222 INFO L290 TraceCheckUtils]: 13: Hoare triple {2418#(<= ~counter~0 0)} assume !(0 == ~cond); {2418#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:00,222 INFO L290 TraceCheckUtils]: 14: Hoare triple {2418#(<= ~counter~0 0)} assume true; {2418#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:00,223 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2418#(<= ~counter~0 0)} {2418#(<= ~counter~0 0)} #92#return; {2418#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:00,223 INFO L290 TraceCheckUtils]: 16: Hoare triple {2418#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {2418#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:00,224 INFO L290 TraceCheckUtils]: 17: Hoare triple {2418#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2467#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:00,224 INFO L290 TraceCheckUtils]: 18: Hoare triple {2467#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {2467#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:00,225 INFO L272 TraceCheckUtils]: 19: Hoare triple {2467#(<= ~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)); {2467#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:00,225 INFO L290 TraceCheckUtils]: 20: Hoare triple {2467#(<= ~counter~0 1)} ~cond := #in~cond; {2467#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:00,225 INFO L290 TraceCheckUtils]: 21: Hoare triple {2467#(<= ~counter~0 1)} assume !(0 == ~cond); {2467#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:00,226 INFO L290 TraceCheckUtils]: 22: Hoare triple {2467#(<= ~counter~0 1)} assume true; {2467#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:00,226 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2467#(<= ~counter~0 1)} {2467#(<= ~counter~0 1)} #94#return; {2467#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:00,227 INFO L290 TraceCheckUtils]: 24: Hoare triple {2467#(<= ~counter~0 1)} assume !!(0 != ~r~0); {2467#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:00,227 INFO L290 TraceCheckUtils]: 25: Hoare triple {2467#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2492#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:00,228 INFO L290 TraceCheckUtils]: 26: Hoare triple {2492#(<= ~counter~0 2)} assume !!(#t~post7 < 10);havoc #t~post7; {2492#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:00,228 INFO L272 TraceCheckUtils]: 27: Hoare triple {2492#(<= ~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)); {2492#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:00,229 INFO L290 TraceCheckUtils]: 28: Hoare triple {2492#(<= ~counter~0 2)} ~cond := #in~cond; {2492#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:00,229 INFO L290 TraceCheckUtils]: 29: Hoare triple {2492#(<= ~counter~0 2)} assume !(0 == ~cond); {2492#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:00,229 INFO L290 TraceCheckUtils]: 30: Hoare triple {2492#(<= ~counter~0 2)} assume true; {2492#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:00,230 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2492#(<= ~counter~0 2)} {2492#(<= ~counter~0 2)} #96#return; {2492#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:00,230 INFO L290 TraceCheckUtils]: 32: Hoare triple {2492#(<= ~counter~0 2)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {2492#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:00,231 INFO L290 TraceCheckUtils]: 33: Hoare triple {2492#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2517#(<= |main_#t~post7| 2)} is VALID [2022-04-07 14:02:00,231 INFO L290 TraceCheckUtils]: 34: Hoare triple {2517#(<= |main_#t~post7| 2)} assume !(#t~post7 < 10);havoc #t~post7; {2411#false} is VALID [2022-04-07 14:02:00,231 INFO L290 TraceCheckUtils]: 35: Hoare triple {2411#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {2411#false} is VALID [2022-04-07 14:02:00,231 INFO L290 TraceCheckUtils]: 36: Hoare triple {2411#false} assume !(#t~post8 < 10);havoc #t~post8; {2411#false} is VALID [2022-04-07 14:02:00,232 INFO L290 TraceCheckUtils]: 37: Hoare triple {2411#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2411#false} is VALID [2022-04-07 14:02:00,232 INFO L290 TraceCheckUtils]: 38: Hoare triple {2411#false} assume !(#t~post6 < 10);havoc #t~post6; {2411#false} is VALID [2022-04-07 14:02:00,232 INFO L272 TraceCheckUtils]: 39: Hoare triple {2411#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)); {2411#false} is VALID [2022-04-07 14:02:00,232 INFO L290 TraceCheckUtils]: 40: Hoare triple {2411#false} ~cond := #in~cond; {2411#false} is VALID [2022-04-07 14:02:00,232 INFO L290 TraceCheckUtils]: 41: Hoare triple {2411#false} assume 0 == ~cond; {2411#false} is VALID [2022-04-07 14:02:00,232 INFO L290 TraceCheckUtils]: 42: Hoare triple {2411#false} assume !false; {2411#false} is VALID [2022-04-07 14:02:00,232 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-07 14:02:00,232 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 14:02:00,476 INFO L290 TraceCheckUtils]: 42: Hoare triple {2411#false} assume !false; {2411#false} is VALID [2022-04-07 14:02:00,476 INFO L290 TraceCheckUtils]: 41: Hoare triple {2411#false} assume 0 == ~cond; {2411#false} is VALID [2022-04-07 14:02:00,477 INFO L290 TraceCheckUtils]: 40: Hoare triple {2411#false} ~cond := #in~cond; {2411#false} is VALID [2022-04-07 14:02:00,477 INFO L272 TraceCheckUtils]: 39: Hoare triple {2411#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)); {2411#false} is VALID [2022-04-07 14:02:00,477 INFO L290 TraceCheckUtils]: 38: Hoare triple {2411#false} assume !(#t~post6 < 10);havoc #t~post6; {2411#false} is VALID [2022-04-07 14:02:00,477 INFO L290 TraceCheckUtils]: 37: Hoare triple {2411#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2411#false} is VALID [2022-04-07 14:02:00,477 INFO L290 TraceCheckUtils]: 36: Hoare triple {2411#false} assume !(#t~post8 < 10);havoc #t~post8; {2411#false} is VALID [2022-04-07 14:02:00,477 INFO L290 TraceCheckUtils]: 35: Hoare triple {2411#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {2411#false} is VALID [2022-04-07 14:02:00,477 INFO L290 TraceCheckUtils]: 34: Hoare triple {2569#(< |main_#t~post7| 10)} assume !(#t~post7 < 10);havoc #t~post7; {2411#false} is VALID [2022-04-07 14:02:00,478 INFO L290 TraceCheckUtils]: 33: Hoare triple {2573#(< ~counter~0 10)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2569#(< |main_#t~post7| 10)} is VALID [2022-04-07 14:02:00,478 INFO L290 TraceCheckUtils]: 32: Hoare triple {2573#(< ~counter~0 10)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {2573#(< ~counter~0 10)} is VALID [2022-04-07 14:02:00,479 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2410#true} {2573#(< ~counter~0 10)} #96#return; {2573#(< ~counter~0 10)} is VALID [2022-04-07 14:02:00,479 INFO L290 TraceCheckUtils]: 30: Hoare triple {2410#true} assume true; {2410#true} is VALID [2022-04-07 14:02:00,479 INFO L290 TraceCheckUtils]: 29: Hoare triple {2410#true} assume !(0 == ~cond); {2410#true} is VALID [2022-04-07 14:02:00,479 INFO L290 TraceCheckUtils]: 28: Hoare triple {2410#true} ~cond := #in~cond; {2410#true} is VALID [2022-04-07 14:02:00,479 INFO L272 TraceCheckUtils]: 27: Hoare triple {2573#(< ~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)); {2410#true} is VALID [2022-04-07 14:02:00,480 INFO L290 TraceCheckUtils]: 26: Hoare triple {2573#(< ~counter~0 10)} assume !!(#t~post7 < 10);havoc #t~post7; {2573#(< ~counter~0 10)} is VALID [2022-04-07 14:02:00,480 INFO L290 TraceCheckUtils]: 25: Hoare triple {2598#(< ~counter~0 9)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2573#(< ~counter~0 10)} is VALID [2022-04-07 14:02:00,481 INFO L290 TraceCheckUtils]: 24: Hoare triple {2598#(< ~counter~0 9)} assume !!(0 != ~r~0); {2598#(< ~counter~0 9)} is VALID [2022-04-07 14:02:00,481 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2410#true} {2598#(< ~counter~0 9)} #94#return; {2598#(< ~counter~0 9)} is VALID [2022-04-07 14:02:00,481 INFO L290 TraceCheckUtils]: 22: Hoare triple {2410#true} assume true; {2410#true} is VALID [2022-04-07 14:02:00,481 INFO L290 TraceCheckUtils]: 21: Hoare triple {2410#true} assume !(0 == ~cond); {2410#true} is VALID [2022-04-07 14:02:00,482 INFO L290 TraceCheckUtils]: 20: Hoare triple {2410#true} ~cond := #in~cond; {2410#true} is VALID [2022-04-07 14:02:00,482 INFO L272 TraceCheckUtils]: 19: Hoare triple {2598#(< ~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)); {2410#true} is VALID [2022-04-07 14:02:00,483 INFO L290 TraceCheckUtils]: 18: Hoare triple {2598#(< ~counter~0 9)} assume !!(#t~post6 < 10);havoc #t~post6; {2598#(< ~counter~0 9)} is VALID [2022-04-07 14:02:00,483 INFO L290 TraceCheckUtils]: 17: Hoare triple {2623#(< ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2598#(< ~counter~0 9)} is VALID [2022-04-07 14:02:00,484 INFO L290 TraceCheckUtils]: 16: Hoare triple {2623#(< ~counter~0 8)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {2623#(< ~counter~0 8)} is VALID [2022-04-07 14:02:00,484 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2410#true} {2623#(< ~counter~0 8)} #92#return; {2623#(< ~counter~0 8)} is VALID [2022-04-07 14:02:00,484 INFO L290 TraceCheckUtils]: 14: Hoare triple {2410#true} assume true; {2410#true} is VALID [2022-04-07 14:02:00,484 INFO L290 TraceCheckUtils]: 13: Hoare triple {2410#true} assume !(0 == ~cond); {2410#true} is VALID [2022-04-07 14:02:00,484 INFO L290 TraceCheckUtils]: 12: Hoare triple {2410#true} ~cond := #in~cond; {2410#true} is VALID [2022-04-07 14:02:00,485 INFO L272 TraceCheckUtils]: 11: Hoare triple {2623#(< ~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)); {2410#true} is VALID [2022-04-07 14:02:00,485 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2410#true} {2623#(< ~counter~0 8)} #90#return; {2623#(< ~counter~0 8)} is VALID [2022-04-07 14:02:00,485 INFO L290 TraceCheckUtils]: 9: Hoare triple {2410#true} assume true; {2410#true} is VALID [2022-04-07 14:02:00,485 INFO L290 TraceCheckUtils]: 8: Hoare triple {2410#true} assume !(0 == ~cond); {2410#true} is VALID [2022-04-07 14:02:00,485 INFO L290 TraceCheckUtils]: 7: Hoare triple {2410#true} ~cond := #in~cond; {2410#true} is VALID [2022-04-07 14:02:00,486 INFO L272 TraceCheckUtils]: 6: Hoare triple {2623#(< ~counter~0 8)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {2410#true} is VALID [2022-04-07 14:02:00,486 INFO L290 TraceCheckUtils]: 5: Hoare triple {2623#(< ~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; {2623#(< ~counter~0 8)} is VALID [2022-04-07 14:02:00,486 INFO L272 TraceCheckUtils]: 4: Hoare triple {2623#(< ~counter~0 8)} call #t~ret9 := main(); {2623#(< ~counter~0 8)} is VALID [2022-04-07 14:02:00,487 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2623#(< ~counter~0 8)} {2410#true} #102#return; {2623#(< ~counter~0 8)} is VALID [2022-04-07 14:02:00,487 INFO L290 TraceCheckUtils]: 2: Hoare triple {2623#(< ~counter~0 8)} assume true; {2623#(< ~counter~0 8)} is VALID [2022-04-07 14:02:00,488 INFO L290 TraceCheckUtils]: 1: Hoare triple {2410#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; {2623#(< ~counter~0 8)} is VALID [2022-04-07 14:02:00,488 INFO L272 TraceCheckUtils]: 0: Hoare triple {2410#true} call ULTIMATE.init(); {2410#true} is VALID [2022-04-07 14:02:00,488 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-07 14:02:00,488 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:02:00,488 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1180097792] [2022-04-07 14:02:00,488 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:02:00,488 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1879182579] [2022-04-07 14:02:00,488 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1879182579] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 14:02:00,489 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 14:02:00,489 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-07 14:02:00,489 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [416909481] [2022-04-07 14:02:00,489 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 14:02:00,489 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-07 14:02:00,490 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:02:00,490 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-07 14:02:00,549 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-07 14:02:00,549 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-07 14:02:00,549 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:02:00,549 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-07 14:02:00,550 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-07 14:02:00,550 INFO L87 Difference]: Start difference. First operand 68 states and 83 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-07 14:02:00,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:02:00,991 INFO L93 Difference]: Finished difference Result 174 states and 220 transitions. [2022-04-07 14:02:00,991 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-07 14:02:00,991 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-07 14:02:00,991 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:02:00,992 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-07 14:02:00,994 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 156 transitions. [2022-04-07 14:02:00,995 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-07 14:02:00,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 156 transitions. [2022-04-07 14:02:00,997 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 156 transitions. [2022-04-07 14:02:01,122 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-07 14:02:01,124 INFO L225 Difference]: With dead ends: 174 [2022-04-07 14:02:01,125 INFO L226 Difference]: Without dead ends: 137 [2022-04-07 14:02:01,125 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-07 14:02:01,126 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 81 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 67 mSolverCounterSat, 33 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 81 SdHoareTripleChecker+Valid, 179 SdHoareTripleChecker+Invalid, 100 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 33 IncrementalHoareTripleChecker+Valid, 67 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 14:02:01,126 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [81 Valid, 179 Invalid, 100 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [33 Valid, 67 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 14:02:01,127 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2022-04-07 14:02:01,170 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 123. [2022-04-07 14:02:01,170 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:02:01,170 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand has 123 states, 89 states have (on average 1.2359550561797752) internal successors, (110), 90 states have internal predecessors, (110), 22 states have call successors, (22), 13 states have call predecessors, (22), 11 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-07 14:02:01,171 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand has 123 states, 89 states have (on average 1.2359550561797752) internal successors, (110), 90 states have internal predecessors, (110), 22 states have call successors, (22), 13 states have call predecessors, (22), 11 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-07 14:02:01,171 INFO L87 Difference]: Start difference. First operand 137 states. Second operand has 123 states, 89 states have (on average 1.2359550561797752) internal successors, (110), 90 states have internal predecessors, (110), 22 states have call successors, (22), 13 states have call predecessors, (22), 11 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-07 14:02:01,176 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:02:01,176 INFO L93 Difference]: Finished difference Result 137 states and 165 transitions. [2022-04-07 14:02:01,176 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 165 transitions. [2022-04-07 14:02:01,176 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:02:01,176 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:02:01,177 INFO L74 IsIncluded]: Start isIncluded. First operand has 123 states, 89 states have (on average 1.2359550561797752) internal successors, (110), 90 states have internal predecessors, (110), 22 states have call successors, (22), 13 states have call predecessors, (22), 11 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) Second operand 137 states. [2022-04-07 14:02:01,177 INFO L87 Difference]: Start difference. First operand has 123 states, 89 states have (on average 1.2359550561797752) internal successors, (110), 90 states have internal predecessors, (110), 22 states have call successors, (22), 13 states have call predecessors, (22), 11 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) Second operand 137 states. [2022-04-07 14:02:01,182 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:02:01,182 INFO L93 Difference]: Finished difference Result 137 states and 165 transitions. [2022-04-07 14:02:01,182 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 165 transitions. [2022-04-07 14:02:01,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:02:01,183 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:02:01,183 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:02:01,183 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:02:01,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 123 states, 89 states have (on average 1.2359550561797752) internal successors, (110), 90 states have internal predecessors, (110), 22 states have call successors, (22), 13 states have call predecessors, (22), 11 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-07 14:02:01,187 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 152 transitions. [2022-04-07 14:02:01,187 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 152 transitions. Word has length 43 [2022-04-07 14:02:01,187 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:02:01,187 INFO L478 AbstractCegarLoop]: Abstraction has 123 states and 152 transitions. [2022-04-07 14:02:01,188 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-07 14:02:01,188 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 152 transitions. [2022-04-07 14:02:01,188 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-07 14:02:01,188 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:02:01,188 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-07 14:02:01,211 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-07 14:02:01,407 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-07 14:02:01,407 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:02:01,408 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:02:01,408 INFO L85 PathProgramCache]: Analyzing trace with hash 1407897436, now seen corresponding path program 1 times [2022-04-07 14:02:01,408 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:02:01,408 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [588748444] [2022-04-07 14:02:01,408 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:02:01,408 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:02:01,427 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:02:01,428 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [276979264] [2022-04-07 14:02:01,428 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:02:01,428 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:02:01,428 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:02:01,432 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-07 14:02:01,459 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-07 14:02:01,482 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:02:01,483 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 3 conjunts are in the unsatisfiable core [2022-04-07 14:02:01,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:02:01,493 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:02:01,674 INFO L272 TraceCheckUtils]: 0: Hoare triple {3371#true} call ULTIMATE.init(); {3371#true} is VALID [2022-04-07 14:02:01,674 INFO L290 TraceCheckUtils]: 1: Hoare triple {3371#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; {3371#true} is VALID [2022-04-07 14:02:01,675 INFO L290 TraceCheckUtils]: 2: Hoare triple {3371#true} assume true; {3371#true} is VALID [2022-04-07 14:02:01,675 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3371#true} {3371#true} #102#return; {3371#true} is VALID [2022-04-07 14:02:01,675 INFO L272 TraceCheckUtils]: 4: Hoare triple {3371#true} call #t~ret9 := main(); {3371#true} is VALID [2022-04-07 14:02:01,675 INFO L290 TraceCheckUtils]: 5: Hoare triple {3371#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; {3371#true} is VALID [2022-04-07 14:02:01,675 INFO L272 TraceCheckUtils]: 6: Hoare triple {3371#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {3371#true} is VALID [2022-04-07 14:02:01,675 INFO L290 TraceCheckUtils]: 7: Hoare triple {3371#true} ~cond := #in~cond; {3371#true} is VALID [2022-04-07 14:02:01,675 INFO L290 TraceCheckUtils]: 8: Hoare triple {3371#true} assume !(0 == ~cond); {3371#true} is VALID [2022-04-07 14:02:01,675 INFO L290 TraceCheckUtils]: 9: Hoare triple {3371#true} assume true; {3371#true} is VALID [2022-04-07 14:02:01,675 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3371#true} {3371#true} #90#return; {3371#true} is VALID [2022-04-07 14:02:01,675 INFO L272 TraceCheckUtils]: 11: Hoare triple {3371#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)); {3371#true} is VALID [2022-04-07 14:02:01,675 INFO L290 TraceCheckUtils]: 12: Hoare triple {3371#true} ~cond := #in~cond; {3371#true} is VALID [2022-04-07 14:02:01,676 INFO L290 TraceCheckUtils]: 13: Hoare triple {3371#true} assume !(0 == ~cond); {3371#true} is VALID [2022-04-07 14:02:01,676 INFO L290 TraceCheckUtils]: 14: Hoare triple {3371#true} assume true; {3371#true} is VALID [2022-04-07 14:02:01,676 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3371#true} {3371#true} #92#return; {3371#true} is VALID [2022-04-07 14:02:01,676 INFO L290 TraceCheckUtils]: 16: Hoare triple {3371#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {3371#true} is VALID [2022-04-07 14:02:01,676 INFO L290 TraceCheckUtils]: 17: Hoare triple {3371#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3371#true} is VALID [2022-04-07 14:02:01,676 INFO L290 TraceCheckUtils]: 18: Hoare triple {3371#true} assume !!(#t~post6 < 10);havoc #t~post6; {3371#true} is VALID [2022-04-07 14:02:01,676 INFO L272 TraceCheckUtils]: 19: Hoare triple {3371#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)); {3371#true} is VALID [2022-04-07 14:02:01,676 INFO L290 TraceCheckUtils]: 20: Hoare triple {3371#true} ~cond := #in~cond; {3371#true} is VALID [2022-04-07 14:02:01,676 INFO L290 TraceCheckUtils]: 21: Hoare triple {3371#true} assume !(0 == ~cond); {3371#true} is VALID [2022-04-07 14:02:01,676 INFO L290 TraceCheckUtils]: 22: Hoare triple {3371#true} assume true; {3371#true} is VALID [2022-04-07 14:02:01,676 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3371#true} {3371#true} #94#return; {3371#true} is VALID [2022-04-07 14:02:01,677 INFO L290 TraceCheckUtils]: 24: Hoare triple {3371#true} assume !!(0 != ~r~0); {3448#(not (= main_~r~0 0))} is VALID [2022-04-07 14:02:01,677 INFO L290 TraceCheckUtils]: 25: Hoare triple {3448#(not (= main_~r~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {3448#(not (= main_~r~0 0))} is VALID [2022-04-07 14:02:01,677 INFO L290 TraceCheckUtils]: 26: Hoare triple {3448#(not (= main_~r~0 0))} assume !!(#t~post7 < 10);havoc #t~post7; {3448#(not (= main_~r~0 0))} is VALID [2022-04-07 14:02:01,677 INFO L272 TraceCheckUtils]: 27: Hoare triple {3448#(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)); {3371#true} is VALID [2022-04-07 14:02:01,677 INFO L290 TraceCheckUtils]: 28: Hoare triple {3371#true} ~cond := #in~cond; {3371#true} is VALID [2022-04-07 14:02:01,678 INFO L290 TraceCheckUtils]: 29: Hoare triple {3371#true} assume !(0 == ~cond); {3371#true} is VALID [2022-04-07 14:02:01,678 INFO L290 TraceCheckUtils]: 30: Hoare triple {3371#true} assume true; {3371#true} is VALID [2022-04-07 14:02:01,678 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3371#true} {3448#(not (= main_~r~0 0))} #96#return; {3448#(not (= main_~r~0 0))} is VALID [2022-04-07 14:02:01,679 INFO L290 TraceCheckUtils]: 32: Hoare triple {3448#(not (= main_~r~0 0))} assume !(~r~0 > 0); {3473#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} is VALID [2022-04-07 14:02:01,679 INFO L290 TraceCheckUtils]: 33: Hoare triple {3473#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {3473#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} is VALID [2022-04-07 14:02:01,680 INFO L290 TraceCheckUtils]: 34: Hoare triple {3473#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} assume !!(#t~post8 < 10);havoc #t~post8; {3473#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} is VALID [2022-04-07 14:02:01,685 INFO L272 TraceCheckUtils]: 35: Hoare triple {3473#(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)); {3371#true} is VALID [2022-04-07 14:02:01,685 INFO L290 TraceCheckUtils]: 36: Hoare triple {3371#true} ~cond := #in~cond; {3371#true} is VALID [2022-04-07 14:02:01,685 INFO L290 TraceCheckUtils]: 37: Hoare triple {3371#true} assume !(0 == ~cond); {3371#true} is VALID [2022-04-07 14:02:01,686 INFO L290 TraceCheckUtils]: 38: Hoare triple {3371#true} assume true; {3371#true} is VALID [2022-04-07 14:02:01,686 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3371#true} {3473#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} #98#return; {3473#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} is VALID [2022-04-07 14:02:01,687 INFO L290 TraceCheckUtils]: 40: Hoare triple {3473#(and (not (= main_~r~0 0)) (not (< 0 main_~r~0)))} assume !(~r~0 < 0); {3372#false} is VALID [2022-04-07 14:02:01,687 INFO L290 TraceCheckUtils]: 41: Hoare triple {3372#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3372#false} is VALID [2022-04-07 14:02:01,687 INFO L290 TraceCheckUtils]: 42: Hoare triple {3372#false} assume !(#t~post6 < 10);havoc #t~post6; {3372#false} is VALID [2022-04-07 14:02:01,687 INFO L272 TraceCheckUtils]: 43: Hoare triple {3372#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)); {3372#false} is VALID [2022-04-07 14:02:01,687 INFO L290 TraceCheckUtils]: 44: Hoare triple {3372#false} ~cond := #in~cond; {3372#false} is VALID [2022-04-07 14:02:01,687 INFO L290 TraceCheckUtils]: 45: Hoare triple {3372#false} assume 0 == ~cond; {3372#false} is VALID [2022-04-07 14:02:01,688 INFO L290 TraceCheckUtils]: 46: Hoare triple {3372#false} assume !false; {3372#false} is VALID [2022-04-07 14:02:01,688 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-07 14:02:01,688 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 14:02:01,688 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:02:01,688 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [588748444] [2022-04-07 14:02:01,688 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:02:01,688 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [276979264] [2022-04-07 14:02:01,688 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [276979264] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 14:02:01,688 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 14:02:01,688 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-07 14:02:01,689 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [847003574] [2022-04-07 14:02:01,689 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 14:02:01,689 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-07 14:02:01,689 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:02:01,689 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-07 14:02:01,717 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-07 14:02:01,718 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-07 14:02:01,718 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:02:01,718 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-07 14:02:01,718 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-04-07 14:02:01,718 INFO L87 Difference]: Start difference. First operand 123 states and 152 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-07 14:02:01,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:02:01,907 INFO L93 Difference]: Finished difference Result 178 states and 228 transitions. [2022-04-07 14:02:01,907 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-07 14:02:01,907 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-07 14:02:01,907 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:02:01,907 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-07 14:02:01,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 108 transitions. [2022-04-07 14:02:01,910 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-07 14:02:01,912 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 108 transitions. [2022-04-07 14:02:01,912 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 108 transitions. [2022-04-07 14:02:02,002 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-07 14:02:02,005 INFO L225 Difference]: With dead ends: 178 [2022-04-07 14:02:02,005 INFO L226 Difference]: Without dead ends: 123 [2022-04-07 14:02:02,005 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-07 14:02:02,006 INFO L913 BasicCegarLoop]: 54 mSDtfsCounter, 19 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 34 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 36 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 34 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 14:02:02,006 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 123 Invalid, 36 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 14:02:02,006 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states. [2022-04-07 14:02:02,044 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 113. [2022-04-07 14:02:02,045 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:02:02,045 INFO L82 GeneralOperation]: Start isEquivalent. First operand 123 states. Second operand has 113 states, 82 states have (on average 1.2195121951219512) internal successors, (100), 83 states have internal predecessors, (100), 21 states have call successors, (21), 11 states have call predecessors, (21), 9 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-07 14:02:02,045 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand has 113 states, 82 states have (on average 1.2195121951219512) internal successors, (100), 83 states have internal predecessors, (100), 21 states have call successors, (21), 11 states have call predecessors, (21), 9 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-07 14:02:02,046 INFO L87 Difference]: Start difference. First operand 123 states. Second operand has 113 states, 82 states have (on average 1.2195121951219512) internal successors, (100), 83 states have internal predecessors, (100), 21 states have call successors, (21), 11 states have call predecessors, (21), 9 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-07 14:02:02,050 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:02:02,050 INFO L93 Difference]: Finished difference Result 123 states and 155 transitions. [2022-04-07 14:02:02,050 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 155 transitions. [2022-04-07 14:02:02,050 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:02:02,050 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:02:02,051 INFO L74 IsIncluded]: Start isIncluded. First operand has 113 states, 82 states have (on average 1.2195121951219512) internal successors, (100), 83 states have internal predecessors, (100), 21 states have call successors, (21), 11 states have call predecessors, (21), 9 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 123 states. [2022-04-07 14:02:02,051 INFO L87 Difference]: Start difference. First operand has 113 states, 82 states have (on average 1.2195121951219512) internal successors, (100), 83 states have internal predecessors, (100), 21 states have call successors, (21), 11 states have call predecessors, (21), 9 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 123 states. [2022-04-07 14:02:02,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:02:02,055 INFO L93 Difference]: Finished difference Result 123 states and 155 transitions. [2022-04-07 14:02:02,055 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 155 transitions. [2022-04-07 14:02:02,056 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:02:02,056 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:02:02,056 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:02:02,056 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:02:02,057 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 113 states, 82 states have (on average 1.2195121951219512) internal successors, (100), 83 states have internal predecessors, (100), 21 states have call successors, (21), 11 states have call predecessors, (21), 9 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-07 14:02:02,060 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 140 transitions. [2022-04-07 14:02:02,060 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 140 transitions. Word has length 47 [2022-04-07 14:02:02,060 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:02:02,060 INFO L478 AbstractCegarLoop]: Abstraction has 113 states and 140 transitions. [2022-04-07 14:02:02,061 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-07 14:02:02,061 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 140 transitions. [2022-04-07 14:02:02,061 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-07 14:02:02,061 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:02:02,061 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-07 14:02:02,086 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-07 14:02:02,284 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-07 14:02:02,284 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:02:02,285 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:02:02,285 INFO L85 PathProgramCache]: Analyzing trace with hash 1915058849, now seen corresponding path program 1 times [2022-04-07 14:02:02,285 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:02:02,285 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [22137255] [2022-04-07 14:02:02,285 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:02:02,285 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:02:02,297 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:02:02,297 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1746200187] [2022-04-07 14:02:02,297 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:02:02,297 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:02:02,297 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:02:02,298 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-07 14:02:02,300 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-07 14:02:02,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:02:02,348 INFO L263 TraceCheckSpWp]: Trace formula consists of 147 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-07 14:02:02,360 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:02:02,361 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:02:02,658 INFO L272 TraceCheckUtils]: 0: Hoare triple {4168#true} call ULTIMATE.init(); {4168#true} is VALID [2022-04-07 14:02:02,659 INFO L290 TraceCheckUtils]: 1: Hoare triple {4168#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; {4176#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:02,660 INFO L290 TraceCheckUtils]: 2: Hoare triple {4176#(<= ~counter~0 0)} assume true; {4176#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:02,660 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4176#(<= ~counter~0 0)} {4168#true} #102#return; {4176#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:02,661 INFO L272 TraceCheckUtils]: 4: Hoare triple {4176#(<= ~counter~0 0)} call #t~ret9 := main(); {4176#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:02,661 INFO L290 TraceCheckUtils]: 5: Hoare triple {4176#(<= ~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; {4176#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:02,662 INFO L272 TraceCheckUtils]: 6: Hoare triple {4176#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {4176#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:02,662 INFO L290 TraceCheckUtils]: 7: Hoare triple {4176#(<= ~counter~0 0)} ~cond := #in~cond; {4176#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:02,663 INFO L290 TraceCheckUtils]: 8: Hoare triple {4176#(<= ~counter~0 0)} assume !(0 == ~cond); {4176#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:02,663 INFO L290 TraceCheckUtils]: 9: Hoare triple {4176#(<= ~counter~0 0)} assume true; {4176#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:02,664 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4176#(<= ~counter~0 0)} {4176#(<= ~counter~0 0)} #90#return; {4176#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:02,664 INFO L272 TraceCheckUtils]: 11: Hoare triple {4176#(<= ~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)); {4176#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:02,665 INFO L290 TraceCheckUtils]: 12: Hoare triple {4176#(<= ~counter~0 0)} ~cond := #in~cond; {4176#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:02,665 INFO L290 TraceCheckUtils]: 13: Hoare triple {4176#(<= ~counter~0 0)} assume !(0 == ~cond); {4176#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:02,666 INFO L290 TraceCheckUtils]: 14: Hoare triple {4176#(<= ~counter~0 0)} assume true; {4176#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:02,666 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4176#(<= ~counter~0 0)} {4176#(<= ~counter~0 0)} #92#return; {4176#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:02,667 INFO L290 TraceCheckUtils]: 16: Hoare triple {4176#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {4176#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:02,667 INFO L290 TraceCheckUtils]: 17: Hoare triple {4176#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4225#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:02,668 INFO L290 TraceCheckUtils]: 18: Hoare triple {4225#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {4225#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:02,669 INFO L272 TraceCheckUtils]: 19: Hoare triple {4225#(<= ~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)); {4225#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:02,669 INFO L290 TraceCheckUtils]: 20: Hoare triple {4225#(<= ~counter~0 1)} ~cond := #in~cond; {4225#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:02,669 INFO L290 TraceCheckUtils]: 21: Hoare triple {4225#(<= ~counter~0 1)} assume !(0 == ~cond); {4225#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:02,670 INFO L290 TraceCheckUtils]: 22: Hoare triple {4225#(<= ~counter~0 1)} assume true; {4225#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:02,670 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4225#(<= ~counter~0 1)} {4225#(<= ~counter~0 1)} #94#return; {4225#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:02,671 INFO L290 TraceCheckUtils]: 24: Hoare triple {4225#(<= ~counter~0 1)} assume !!(0 != ~r~0); {4225#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:02,671 INFO L290 TraceCheckUtils]: 25: Hoare triple {4225#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4250#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:02,672 INFO L290 TraceCheckUtils]: 26: Hoare triple {4250#(<= ~counter~0 2)} assume !!(#t~post7 < 10);havoc #t~post7; {4250#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:02,672 INFO L272 TraceCheckUtils]: 27: Hoare triple {4250#(<= ~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)); {4250#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:02,673 INFO L290 TraceCheckUtils]: 28: Hoare triple {4250#(<= ~counter~0 2)} ~cond := #in~cond; {4250#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:02,673 INFO L290 TraceCheckUtils]: 29: Hoare triple {4250#(<= ~counter~0 2)} assume !(0 == ~cond); {4250#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:02,673 INFO L290 TraceCheckUtils]: 30: Hoare triple {4250#(<= ~counter~0 2)} assume true; {4250#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:02,674 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {4250#(<= ~counter~0 2)} {4250#(<= ~counter~0 2)} #96#return; {4250#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:02,674 INFO L290 TraceCheckUtils]: 32: Hoare triple {4250#(<= ~counter~0 2)} assume !(~r~0 > 0); {4250#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:02,675 INFO L290 TraceCheckUtils]: 33: Hoare triple {4250#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {4275#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:02,675 INFO L290 TraceCheckUtils]: 34: Hoare triple {4275#(<= ~counter~0 3)} assume !!(#t~post8 < 10);havoc #t~post8; {4275#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:02,676 INFO L272 TraceCheckUtils]: 35: Hoare triple {4275#(<= ~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)); {4275#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:02,676 INFO L290 TraceCheckUtils]: 36: Hoare triple {4275#(<= ~counter~0 3)} ~cond := #in~cond; {4275#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:02,677 INFO L290 TraceCheckUtils]: 37: Hoare triple {4275#(<= ~counter~0 3)} assume !(0 == ~cond); {4275#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:02,677 INFO L290 TraceCheckUtils]: 38: Hoare triple {4275#(<= ~counter~0 3)} assume true; {4275#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:02,678 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4275#(<= ~counter~0 3)} {4275#(<= ~counter~0 3)} #98#return; {4275#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:02,678 INFO L290 TraceCheckUtils]: 40: Hoare triple {4275#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {4275#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:02,679 INFO L290 TraceCheckUtils]: 41: Hoare triple {4275#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {4300#(<= |main_#t~post8| 3)} is VALID [2022-04-07 14:02:02,679 INFO L290 TraceCheckUtils]: 42: Hoare triple {4300#(<= |main_#t~post8| 3)} assume !(#t~post8 < 10);havoc #t~post8; {4169#false} is VALID [2022-04-07 14:02:02,679 INFO L290 TraceCheckUtils]: 43: Hoare triple {4169#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4169#false} is VALID [2022-04-07 14:02:02,679 INFO L290 TraceCheckUtils]: 44: Hoare triple {4169#false} assume !(#t~post6 < 10);havoc #t~post6; {4169#false} is VALID [2022-04-07 14:02:02,679 INFO L272 TraceCheckUtils]: 45: Hoare triple {4169#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)); {4169#false} is VALID [2022-04-07 14:02:02,679 INFO L290 TraceCheckUtils]: 46: Hoare triple {4169#false} ~cond := #in~cond; {4169#false} is VALID [2022-04-07 14:02:02,679 INFO L290 TraceCheckUtils]: 47: Hoare triple {4169#false} assume 0 == ~cond; {4169#false} is VALID [2022-04-07 14:02:02,680 INFO L290 TraceCheckUtils]: 48: Hoare triple {4169#false} assume !false; {4169#false} is VALID [2022-04-07 14:02:02,680 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-07 14:02:02,680 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 14:02:02,949 INFO L290 TraceCheckUtils]: 48: Hoare triple {4169#false} assume !false; {4169#false} is VALID [2022-04-07 14:02:02,950 INFO L290 TraceCheckUtils]: 47: Hoare triple {4169#false} assume 0 == ~cond; {4169#false} is VALID [2022-04-07 14:02:02,950 INFO L290 TraceCheckUtils]: 46: Hoare triple {4169#false} ~cond := #in~cond; {4169#false} is VALID [2022-04-07 14:02:02,950 INFO L272 TraceCheckUtils]: 45: Hoare triple {4169#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)); {4169#false} is VALID [2022-04-07 14:02:02,950 INFO L290 TraceCheckUtils]: 44: Hoare triple {4169#false} assume !(#t~post6 < 10);havoc #t~post6; {4169#false} is VALID [2022-04-07 14:02:02,950 INFO L290 TraceCheckUtils]: 43: Hoare triple {4169#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4169#false} is VALID [2022-04-07 14:02:02,950 INFO L290 TraceCheckUtils]: 42: Hoare triple {4340#(< |main_#t~post8| 10)} assume !(#t~post8 < 10);havoc #t~post8; {4169#false} is VALID [2022-04-07 14:02:02,951 INFO L290 TraceCheckUtils]: 41: Hoare triple {4344#(< ~counter~0 10)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {4340#(< |main_#t~post8| 10)} is VALID [2022-04-07 14:02:02,954 INFO L290 TraceCheckUtils]: 40: Hoare triple {4344#(< ~counter~0 10)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {4344#(< ~counter~0 10)} is VALID [2022-04-07 14:02:02,954 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4168#true} {4344#(< ~counter~0 10)} #98#return; {4344#(< ~counter~0 10)} is VALID [2022-04-07 14:02:02,954 INFO L290 TraceCheckUtils]: 38: Hoare triple {4168#true} assume true; {4168#true} is VALID [2022-04-07 14:02:02,954 INFO L290 TraceCheckUtils]: 37: Hoare triple {4168#true} assume !(0 == ~cond); {4168#true} is VALID [2022-04-07 14:02:02,955 INFO L290 TraceCheckUtils]: 36: Hoare triple {4168#true} ~cond := #in~cond; {4168#true} is VALID [2022-04-07 14:02:02,955 INFO L272 TraceCheckUtils]: 35: Hoare triple {4344#(< ~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)); {4168#true} is VALID [2022-04-07 14:02:02,955 INFO L290 TraceCheckUtils]: 34: Hoare triple {4344#(< ~counter~0 10)} assume !!(#t~post8 < 10);havoc #t~post8; {4344#(< ~counter~0 10)} is VALID [2022-04-07 14:02:02,956 INFO L290 TraceCheckUtils]: 33: Hoare triple {4369#(< ~counter~0 9)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {4344#(< ~counter~0 10)} is VALID [2022-04-07 14:02:02,956 INFO L290 TraceCheckUtils]: 32: Hoare triple {4369#(< ~counter~0 9)} assume !(~r~0 > 0); {4369#(< ~counter~0 9)} is VALID [2022-04-07 14:02:02,957 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {4168#true} {4369#(< ~counter~0 9)} #96#return; {4369#(< ~counter~0 9)} is VALID [2022-04-07 14:02:02,957 INFO L290 TraceCheckUtils]: 30: Hoare triple {4168#true} assume true; {4168#true} is VALID [2022-04-07 14:02:02,957 INFO L290 TraceCheckUtils]: 29: Hoare triple {4168#true} assume !(0 == ~cond); {4168#true} is VALID [2022-04-07 14:02:02,957 INFO L290 TraceCheckUtils]: 28: Hoare triple {4168#true} ~cond := #in~cond; {4168#true} is VALID [2022-04-07 14:02:02,957 INFO L272 TraceCheckUtils]: 27: Hoare triple {4369#(< ~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)); {4168#true} is VALID [2022-04-07 14:02:02,958 INFO L290 TraceCheckUtils]: 26: Hoare triple {4369#(< ~counter~0 9)} assume !!(#t~post7 < 10);havoc #t~post7; {4369#(< ~counter~0 9)} is VALID [2022-04-07 14:02:02,959 INFO L290 TraceCheckUtils]: 25: Hoare triple {4394#(< ~counter~0 8)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4369#(< ~counter~0 9)} is VALID [2022-04-07 14:02:02,959 INFO L290 TraceCheckUtils]: 24: Hoare triple {4394#(< ~counter~0 8)} assume !!(0 != ~r~0); {4394#(< ~counter~0 8)} is VALID [2022-04-07 14:02:02,960 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4168#true} {4394#(< ~counter~0 8)} #94#return; {4394#(< ~counter~0 8)} is VALID [2022-04-07 14:02:02,960 INFO L290 TraceCheckUtils]: 22: Hoare triple {4168#true} assume true; {4168#true} is VALID [2022-04-07 14:02:02,960 INFO L290 TraceCheckUtils]: 21: Hoare triple {4168#true} assume !(0 == ~cond); {4168#true} is VALID [2022-04-07 14:02:02,960 INFO L290 TraceCheckUtils]: 20: Hoare triple {4168#true} ~cond := #in~cond; {4168#true} is VALID [2022-04-07 14:02:02,960 INFO L272 TraceCheckUtils]: 19: Hoare triple {4394#(< ~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)); {4168#true} is VALID [2022-04-07 14:02:02,961 INFO L290 TraceCheckUtils]: 18: Hoare triple {4394#(< ~counter~0 8)} assume !!(#t~post6 < 10);havoc #t~post6; {4394#(< ~counter~0 8)} is VALID [2022-04-07 14:02:02,961 INFO L290 TraceCheckUtils]: 17: Hoare triple {4419#(< ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4394#(< ~counter~0 8)} is VALID [2022-04-07 14:02:02,961 INFO L290 TraceCheckUtils]: 16: Hoare triple {4419#(< ~counter~0 7)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {4419#(< ~counter~0 7)} is VALID [2022-04-07 14:02:02,962 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4168#true} {4419#(< ~counter~0 7)} #92#return; {4419#(< ~counter~0 7)} is VALID [2022-04-07 14:02:02,962 INFO L290 TraceCheckUtils]: 14: Hoare triple {4168#true} assume true; {4168#true} is VALID [2022-04-07 14:02:02,962 INFO L290 TraceCheckUtils]: 13: Hoare triple {4168#true} assume !(0 == ~cond); {4168#true} is VALID [2022-04-07 14:02:02,962 INFO L290 TraceCheckUtils]: 12: Hoare triple {4168#true} ~cond := #in~cond; {4168#true} is VALID [2022-04-07 14:02:02,962 INFO L272 TraceCheckUtils]: 11: Hoare triple {4419#(< ~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)); {4168#true} is VALID [2022-04-07 14:02:02,963 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4168#true} {4419#(< ~counter~0 7)} #90#return; {4419#(< ~counter~0 7)} is VALID [2022-04-07 14:02:02,963 INFO L290 TraceCheckUtils]: 9: Hoare triple {4168#true} assume true; {4168#true} is VALID [2022-04-07 14:02:02,963 INFO L290 TraceCheckUtils]: 8: Hoare triple {4168#true} assume !(0 == ~cond); {4168#true} is VALID [2022-04-07 14:02:02,963 INFO L290 TraceCheckUtils]: 7: Hoare triple {4168#true} ~cond := #in~cond; {4168#true} is VALID [2022-04-07 14:02:02,963 INFO L272 TraceCheckUtils]: 6: Hoare triple {4419#(< ~counter~0 7)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {4168#true} is VALID [2022-04-07 14:02:02,963 INFO L290 TraceCheckUtils]: 5: Hoare triple {4419#(< ~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; {4419#(< ~counter~0 7)} is VALID [2022-04-07 14:02:02,964 INFO L272 TraceCheckUtils]: 4: Hoare triple {4419#(< ~counter~0 7)} call #t~ret9 := main(); {4419#(< ~counter~0 7)} is VALID [2022-04-07 14:02:02,964 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4419#(< ~counter~0 7)} {4168#true} #102#return; {4419#(< ~counter~0 7)} is VALID [2022-04-07 14:02:02,964 INFO L290 TraceCheckUtils]: 2: Hoare triple {4419#(< ~counter~0 7)} assume true; {4419#(< ~counter~0 7)} is VALID [2022-04-07 14:02:02,965 INFO L290 TraceCheckUtils]: 1: Hoare triple {4168#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; {4419#(< ~counter~0 7)} is VALID [2022-04-07 14:02:02,965 INFO L272 TraceCheckUtils]: 0: Hoare triple {4168#true} call ULTIMATE.init(); {4168#true} is VALID [2022-04-07 14:02:02,965 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-07 14:02:02,965 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:02:02,965 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [22137255] [2022-04-07 14:02:02,965 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:02:02,965 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1746200187] [2022-04-07 14:02:02,965 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1746200187] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 14:02:02,965 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 14:02:02,966 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-07 14:02:02,966 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1858791624] [2022-04-07 14:02:02,966 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 14:02:02,966 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-07 14:02:02,967 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:02:02,967 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-07 14:02:03,024 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-07 14:02:03,024 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-07 14:02:03,024 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:02:03,025 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-07 14:02:03,025 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-07 14:02:03,025 INFO L87 Difference]: Start difference. First operand 113 states and 140 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-07 14:02:03,674 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:02:03,674 INFO L93 Difference]: Finished difference Result 223 states and 286 transitions. [2022-04-07 14:02:03,674 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-07 14:02:03,675 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-07 14:02:03,675 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:02:03,675 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-07 14:02:03,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 194 transitions. [2022-04-07 14:02:03,678 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-07 14:02:03,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 194 transitions. [2022-04-07 14:02:03,682 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 194 transitions. [2022-04-07 14:02:03,844 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-07 14:02:03,848 INFO L225 Difference]: With dead ends: 223 [2022-04-07 14:02:03,848 INFO L226 Difference]: Without dead ends: 176 [2022-04-07 14:02:03,851 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-07 14:02:03,852 INFO L913 BasicCegarLoop]: 51 mSDtfsCounter, 118 mSDsluCounter, 213 mSDsCounter, 0 mSdLazyCounter, 94 mSolverCounterSat, 54 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 118 SdHoareTripleChecker+Valid, 264 SdHoareTripleChecker+Invalid, 148 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 54 IncrementalHoareTripleChecker+Valid, 94 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-07 14:02:03,852 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [118 Valid, 264 Invalid, 148 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [54 Valid, 94 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-07 14:02:03,853 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 176 states. [2022-04-07 14:02:03,917 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 176 to 157. [2022-04-07 14:02:03,917 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:02:03,918 INFO L82 GeneralOperation]: Start isEquivalent. First operand 176 states. Second operand has 157 states, 115 states have (on average 1.2347826086956522) internal successors, (142), 116 states have internal predecessors, (142), 30 states have call successors, (30), 13 states have call predecessors, (30), 11 states have return successors, (28), 27 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-07 14:02:03,918 INFO L74 IsIncluded]: Start isIncluded. First operand 176 states. Second operand has 157 states, 115 states have (on average 1.2347826086956522) internal successors, (142), 116 states have internal predecessors, (142), 30 states have call successors, (30), 13 states have call predecessors, (30), 11 states have return successors, (28), 27 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-07 14:02:03,919 INFO L87 Difference]: Start difference. First operand 176 states. Second operand has 157 states, 115 states have (on average 1.2347826086956522) internal successors, (142), 116 states have internal predecessors, (142), 30 states have call successors, (30), 13 states have call predecessors, (30), 11 states have return successors, (28), 27 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-07 14:02:03,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:02:03,924 INFO L93 Difference]: Finished difference Result 176 states and 216 transitions. [2022-04-07 14:02:03,924 INFO L276 IsEmpty]: Start isEmpty. Operand 176 states and 216 transitions. [2022-04-07 14:02:03,925 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:02:03,925 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:02:03,925 INFO L74 IsIncluded]: Start isIncluded. First operand has 157 states, 115 states have (on average 1.2347826086956522) internal successors, (142), 116 states have internal predecessors, (142), 30 states have call successors, (30), 13 states have call predecessors, (30), 11 states have return successors, (28), 27 states have call predecessors, (28), 28 states have call successors, (28) Second operand 176 states. [2022-04-07 14:02:03,925 INFO L87 Difference]: Start difference. First operand has 157 states, 115 states have (on average 1.2347826086956522) internal successors, (142), 116 states have internal predecessors, (142), 30 states have call successors, (30), 13 states have call predecessors, (30), 11 states have return successors, (28), 27 states have call predecessors, (28), 28 states have call successors, (28) Second operand 176 states. [2022-04-07 14:02:03,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:02:03,930 INFO L93 Difference]: Finished difference Result 176 states and 216 transitions. [2022-04-07 14:02:03,930 INFO L276 IsEmpty]: Start isEmpty. Operand 176 states and 216 transitions. [2022-04-07 14:02:03,930 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:02:03,930 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:02:03,930 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:02:03,931 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:02:03,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 157 states, 115 states have (on average 1.2347826086956522) internal successors, (142), 116 states have internal predecessors, (142), 30 states have call successors, (30), 13 states have call predecessors, (30), 11 states have return successors, (28), 27 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-07 14:02:03,935 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 157 states to 157 states and 200 transitions. [2022-04-07 14:02:03,935 INFO L78 Accepts]: Start accepts. Automaton has 157 states and 200 transitions. Word has length 49 [2022-04-07 14:02:03,935 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:02:03,935 INFO L478 AbstractCegarLoop]: Abstraction has 157 states and 200 transitions. [2022-04-07 14:02:03,935 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-07 14:02:03,936 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 200 transitions. [2022-04-07 14:02:03,936 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-07 14:02:03,936 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:02:03,936 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-07 14:02:03,955 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-07 14:02:04,147 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-07 14:02:04,147 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:02:04,148 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:02:04,148 INFO L85 PathProgramCache]: Analyzing trace with hash -1067781299, now seen corresponding path program 1 times [2022-04-07 14:02:04,148 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:02:04,148 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1964300403] [2022-04-07 14:02:04,148 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:02:04,148 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:02:04,159 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:02:04,159 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1438754575] [2022-04-07 14:02:04,159 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:02:04,159 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:02:04,159 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:02:04,160 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-07 14:02:04,179 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-07 14:02:04,212 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:02:04,213 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-07 14:02:04,225 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:02:04,226 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:02:04,524 INFO L272 TraceCheckUtils]: 0: Hoare triple {5363#true} call ULTIMATE.init(); {5363#true} is VALID [2022-04-07 14:02:04,524 INFO L290 TraceCheckUtils]: 1: Hoare triple {5363#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; {5371#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:04,525 INFO L290 TraceCheckUtils]: 2: Hoare triple {5371#(<= ~counter~0 0)} assume true; {5371#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:04,525 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5371#(<= ~counter~0 0)} {5363#true} #102#return; {5371#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:04,525 INFO L272 TraceCheckUtils]: 4: Hoare triple {5371#(<= ~counter~0 0)} call #t~ret9 := main(); {5371#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:04,525 INFO L290 TraceCheckUtils]: 5: Hoare triple {5371#(<= ~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; {5371#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:04,526 INFO L272 TraceCheckUtils]: 6: Hoare triple {5371#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {5371#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:04,526 INFO L290 TraceCheckUtils]: 7: Hoare triple {5371#(<= ~counter~0 0)} ~cond := #in~cond; {5371#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:04,526 INFO L290 TraceCheckUtils]: 8: Hoare triple {5371#(<= ~counter~0 0)} assume !(0 == ~cond); {5371#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:04,527 INFO L290 TraceCheckUtils]: 9: Hoare triple {5371#(<= ~counter~0 0)} assume true; {5371#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:04,527 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5371#(<= ~counter~0 0)} {5371#(<= ~counter~0 0)} #90#return; {5371#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:04,527 INFO L272 TraceCheckUtils]: 11: Hoare triple {5371#(<= ~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)); {5371#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:04,528 INFO L290 TraceCheckUtils]: 12: Hoare triple {5371#(<= ~counter~0 0)} ~cond := #in~cond; {5371#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:04,528 INFO L290 TraceCheckUtils]: 13: Hoare triple {5371#(<= ~counter~0 0)} assume !(0 == ~cond); {5371#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:04,528 INFO L290 TraceCheckUtils]: 14: Hoare triple {5371#(<= ~counter~0 0)} assume true; {5371#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:04,529 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5371#(<= ~counter~0 0)} {5371#(<= ~counter~0 0)} #92#return; {5371#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:04,529 INFO L290 TraceCheckUtils]: 16: Hoare triple {5371#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {5371#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:04,529 INFO L290 TraceCheckUtils]: 17: Hoare triple {5371#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5420#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:04,530 INFO L290 TraceCheckUtils]: 18: Hoare triple {5420#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {5420#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:04,530 INFO L272 TraceCheckUtils]: 19: Hoare triple {5420#(<= ~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)); {5420#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:04,530 INFO L290 TraceCheckUtils]: 20: Hoare triple {5420#(<= ~counter~0 1)} ~cond := #in~cond; {5420#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:04,531 INFO L290 TraceCheckUtils]: 21: Hoare triple {5420#(<= ~counter~0 1)} assume !(0 == ~cond); {5420#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:04,531 INFO L290 TraceCheckUtils]: 22: Hoare triple {5420#(<= ~counter~0 1)} assume true; {5420#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:04,531 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5420#(<= ~counter~0 1)} {5420#(<= ~counter~0 1)} #94#return; {5420#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:04,532 INFO L290 TraceCheckUtils]: 24: Hoare triple {5420#(<= ~counter~0 1)} assume !!(0 != ~r~0); {5420#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:04,532 INFO L290 TraceCheckUtils]: 25: Hoare triple {5420#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5445#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:04,532 INFO L290 TraceCheckUtils]: 26: Hoare triple {5445#(<= ~counter~0 2)} assume !!(#t~post7 < 10);havoc #t~post7; {5445#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:04,533 INFO L272 TraceCheckUtils]: 27: Hoare triple {5445#(<= ~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)); {5445#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:04,533 INFO L290 TraceCheckUtils]: 28: Hoare triple {5445#(<= ~counter~0 2)} ~cond := #in~cond; {5445#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:04,533 INFO L290 TraceCheckUtils]: 29: Hoare triple {5445#(<= ~counter~0 2)} assume !(0 == ~cond); {5445#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:04,534 INFO L290 TraceCheckUtils]: 30: Hoare triple {5445#(<= ~counter~0 2)} assume true; {5445#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:04,534 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {5445#(<= ~counter~0 2)} {5445#(<= ~counter~0 2)} #96#return; {5445#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:04,534 INFO L290 TraceCheckUtils]: 32: Hoare triple {5445#(<= ~counter~0 2)} assume !(~r~0 > 0); {5445#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:04,535 INFO L290 TraceCheckUtils]: 33: Hoare triple {5445#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {5470#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:04,536 INFO L290 TraceCheckUtils]: 34: Hoare triple {5470#(<= ~counter~0 3)} assume !!(#t~post8 < 10);havoc #t~post8; {5470#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:04,536 INFO L272 TraceCheckUtils]: 35: Hoare triple {5470#(<= ~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)); {5470#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:04,537 INFO L290 TraceCheckUtils]: 36: Hoare triple {5470#(<= ~counter~0 3)} ~cond := #in~cond; {5470#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:04,537 INFO L290 TraceCheckUtils]: 37: Hoare triple {5470#(<= ~counter~0 3)} assume !(0 == ~cond); {5470#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:04,537 INFO L290 TraceCheckUtils]: 38: Hoare triple {5470#(<= ~counter~0 3)} assume true; {5470#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:04,539 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {5470#(<= ~counter~0 3)} {5470#(<= ~counter~0 3)} #98#return; {5470#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:04,539 INFO L290 TraceCheckUtils]: 40: Hoare triple {5470#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {5470#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:04,551 INFO L290 TraceCheckUtils]: 41: Hoare triple {5470#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {5495#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:04,551 INFO L290 TraceCheckUtils]: 42: Hoare triple {5495#(<= ~counter~0 4)} assume !!(#t~post8 < 10);havoc #t~post8; {5495#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:04,551 INFO L272 TraceCheckUtils]: 43: Hoare triple {5495#(<= ~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)); {5495#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:04,552 INFO L290 TraceCheckUtils]: 44: Hoare triple {5495#(<= ~counter~0 4)} ~cond := #in~cond; {5495#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:04,552 INFO L290 TraceCheckUtils]: 45: Hoare triple {5495#(<= ~counter~0 4)} assume !(0 == ~cond); {5495#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:04,552 INFO L290 TraceCheckUtils]: 46: Hoare triple {5495#(<= ~counter~0 4)} assume true; {5495#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:04,553 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {5495#(<= ~counter~0 4)} {5495#(<= ~counter~0 4)} #98#return; {5495#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:04,553 INFO L290 TraceCheckUtils]: 48: Hoare triple {5495#(<= ~counter~0 4)} assume !(~r~0 < 0); {5495#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:04,553 INFO L290 TraceCheckUtils]: 49: Hoare triple {5495#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5520#(<= |main_#t~post6| 4)} is VALID [2022-04-07 14:02:04,554 INFO L290 TraceCheckUtils]: 50: Hoare triple {5520#(<= |main_#t~post6| 4)} assume !(#t~post6 < 10);havoc #t~post6; {5364#false} is VALID [2022-04-07 14:02:04,554 INFO L272 TraceCheckUtils]: 51: Hoare triple {5364#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)); {5364#false} is VALID [2022-04-07 14:02:04,554 INFO L290 TraceCheckUtils]: 52: Hoare triple {5364#false} ~cond := #in~cond; {5364#false} is VALID [2022-04-07 14:02:04,554 INFO L290 TraceCheckUtils]: 53: Hoare triple {5364#false} assume 0 == ~cond; {5364#false} is VALID [2022-04-07 14:02:04,554 INFO L290 TraceCheckUtils]: 54: Hoare triple {5364#false} assume !false; {5364#false} is VALID [2022-04-07 14:02:04,554 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-07 14:02:04,554 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 14:02:04,841 INFO L290 TraceCheckUtils]: 54: Hoare triple {5364#false} assume !false; {5364#false} is VALID [2022-04-07 14:02:04,841 INFO L290 TraceCheckUtils]: 53: Hoare triple {5364#false} assume 0 == ~cond; {5364#false} is VALID [2022-04-07 14:02:04,841 INFO L290 TraceCheckUtils]: 52: Hoare triple {5364#false} ~cond := #in~cond; {5364#false} is VALID [2022-04-07 14:02:04,841 INFO L272 TraceCheckUtils]: 51: Hoare triple {5364#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)); {5364#false} is VALID [2022-04-07 14:02:04,842 INFO L290 TraceCheckUtils]: 50: Hoare triple {5548#(< |main_#t~post6| 10)} assume !(#t~post6 < 10);havoc #t~post6; {5364#false} is VALID [2022-04-07 14:02:04,842 INFO L290 TraceCheckUtils]: 49: Hoare triple {5552#(< ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5548#(< |main_#t~post6| 10)} is VALID [2022-04-07 14:02:04,842 INFO L290 TraceCheckUtils]: 48: Hoare triple {5552#(< ~counter~0 10)} assume !(~r~0 < 0); {5552#(< ~counter~0 10)} is VALID [2022-04-07 14:02:04,843 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {5363#true} {5552#(< ~counter~0 10)} #98#return; {5552#(< ~counter~0 10)} is VALID [2022-04-07 14:02:04,843 INFO L290 TraceCheckUtils]: 46: Hoare triple {5363#true} assume true; {5363#true} is VALID [2022-04-07 14:02:04,843 INFO L290 TraceCheckUtils]: 45: Hoare triple {5363#true} assume !(0 == ~cond); {5363#true} is VALID [2022-04-07 14:02:04,843 INFO L290 TraceCheckUtils]: 44: Hoare triple {5363#true} ~cond := #in~cond; {5363#true} is VALID [2022-04-07 14:02:04,843 INFO L272 TraceCheckUtils]: 43: Hoare triple {5552#(< ~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)); {5363#true} is VALID [2022-04-07 14:02:04,844 INFO L290 TraceCheckUtils]: 42: Hoare triple {5552#(< ~counter~0 10)} assume !!(#t~post8 < 10);havoc #t~post8; {5552#(< ~counter~0 10)} is VALID [2022-04-07 14:02:04,844 INFO L290 TraceCheckUtils]: 41: Hoare triple {5577#(< ~counter~0 9)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {5552#(< ~counter~0 10)} is VALID [2022-04-07 14:02:04,845 INFO L290 TraceCheckUtils]: 40: Hoare triple {5577#(< ~counter~0 9)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {5577#(< ~counter~0 9)} is VALID [2022-04-07 14:02:04,845 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {5363#true} {5577#(< ~counter~0 9)} #98#return; {5577#(< ~counter~0 9)} is VALID [2022-04-07 14:02:04,846 INFO L290 TraceCheckUtils]: 38: Hoare triple {5363#true} assume true; {5363#true} is VALID [2022-04-07 14:02:04,847 INFO L290 TraceCheckUtils]: 37: Hoare triple {5363#true} assume !(0 == ~cond); {5363#true} is VALID [2022-04-07 14:02:04,847 INFO L290 TraceCheckUtils]: 36: Hoare triple {5363#true} ~cond := #in~cond; {5363#true} is VALID [2022-04-07 14:02:04,847 INFO L272 TraceCheckUtils]: 35: Hoare triple {5577#(< ~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)); {5363#true} is VALID [2022-04-07 14:02:04,847 INFO L290 TraceCheckUtils]: 34: Hoare triple {5577#(< ~counter~0 9)} assume !!(#t~post8 < 10);havoc #t~post8; {5577#(< ~counter~0 9)} is VALID [2022-04-07 14:02:04,848 INFO L290 TraceCheckUtils]: 33: Hoare triple {5602#(< ~counter~0 8)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {5577#(< ~counter~0 9)} is VALID [2022-04-07 14:02:04,848 INFO L290 TraceCheckUtils]: 32: Hoare triple {5602#(< ~counter~0 8)} assume !(~r~0 > 0); {5602#(< ~counter~0 8)} is VALID [2022-04-07 14:02:04,849 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {5363#true} {5602#(< ~counter~0 8)} #96#return; {5602#(< ~counter~0 8)} is VALID [2022-04-07 14:02:04,849 INFO L290 TraceCheckUtils]: 30: Hoare triple {5363#true} assume true; {5363#true} is VALID [2022-04-07 14:02:04,849 INFO L290 TraceCheckUtils]: 29: Hoare triple {5363#true} assume !(0 == ~cond); {5363#true} is VALID [2022-04-07 14:02:04,849 INFO L290 TraceCheckUtils]: 28: Hoare triple {5363#true} ~cond := #in~cond; {5363#true} is VALID [2022-04-07 14:02:04,849 INFO L272 TraceCheckUtils]: 27: Hoare triple {5602#(< ~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)); {5363#true} is VALID [2022-04-07 14:02:04,850 INFO L290 TraceCheckUtils]: 26: Hoare triple {5602#(< ~counter~0 8)} assume !!(#t~post7 < 10);havoc #t~post7; {5602#(< ~counter~0 8)} is VALID [2022-04-07 14:02:04,850 INFO L290 TraceCheckUtils]: 25: Hoare triple {5627#(< ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5602#(< ~counter~0 8)} is VALID [2022-04-07 14:02:04,851 INFO L290 TraceCheckUtils]: 24: Hoare triple {5627#(< ~counter~0 7)} assume !!(0 != ~r~0); {5627#(< ~counter~0 7)} is VALID [2022-04-07 14:02:04,851 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5363#true} {5627#(< ~counter~0 7)} #94#return; {5627#(< ~counter~0 7)} is VALID [2022-04-07 14:02:04,851 INFO L290 TraceCheckUtils]: 22: Hoare triple {5363#true} assume true; {5363#true} is VALID [2022-04-07 14:02:04,851 INFO L290 TraceCheckUtils]: 21: Hoare triple {5363#true} assume !(0 == ~cond); {5363#true} is VALID [2022-04-07 14:02:04,852 INFO L290 TraceCheckUtils]: 20: Hoare triple {5363#true} ~cond := #in~cond; {5363#true} is VALID [2022-04-07 14:02:04,852 INFO L272 TraceCheckUtils]: 19: Hoare triple {5627#(< ~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)); {5363#true} is VALID [2022-04-07 14:02:04,852 INFO L290 TraceCheckUtils]: 18: Hoare triple {5627#(< ~counter~0 7)} assume !!(#t~post6 < 10);havoc #t~post6; {5627#(< ~counter~0 7)} is VALID [2022-04-07 14:02:04,853 INFO L290 TraceCheckUtils]: 17: Hoare triple {5652#(< ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5627#(< ~counter~0 7)} is VALID [2022-04-07 14:02:04,853 INFO L290 TraceCheckUtils]: 16: Hoare triple {5652#(< ~counter~0 6)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {5652#(< ~counter~0 6)} is VALID [2022-04-07 14:02:04,854 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5363#true} {5652#(< ~counter~0 6)} #92#return; {5652#(< ~counter~0 6)} is VALID [2022-04-07 14:02:04,854 INFO L290 TraceCheckUtils]: 14: Hoare triple {5363#true} assume true; {5363#true} is VALID [2022-04-07 14:02:04,854 INFO L290 TraceCheckUtils]: 13: Hoare triple {5363#true} assume !(0 == ~cond); {5363#true} is VALID [2022-04-07 14:02:04,854 INFO L290 TraceCheckUtils]: 12: Hoare triple {5363#true} ~cond := #in~cond; {5363#true} is VALID [2022-04-07 14:02:04,854 INFO L272 TraceCheckUtils]: 11: Hoare triple {5652#(< ~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)); {5363#true} is VALID [2022-04-07 14:02:04,855 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5363#true} {5652#(< ~counter~0 6)} #90#return; {5652#(< ~counter~0 6)} is VALID [2022-04-07 14:02:04,855 INFO L290 TraceCheckUtils]: 9: Hoare triple {5363#true} assume true; {5363#true} is VALID [2022-04-07 14:02:04,855 INFO L290 TraceCheckUtils]: 8: Hoare triple {5363#true} assume !(0 == ~cond); {5363#true} is VALID [2022-04-07 14:02:04,855 INFO L290 TraceCheckUtils]: 7: Hoare triple {5363#true} ~cond := #in~cond; {5363#true} is VALID [2022-04-07 14:02:04,855 INFO L272 TraceCheckUtils]: 6: Hoare triple {5652#(< ~counter~0 6)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {5363#true} is VALID [2022-04-07 14:02:04,855 INFO L290 TraceCheckUtils]: 5: Hoare triple {5652#(< ~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; {5652#(< ~counter~0 6)} is VALID [2022-04-07 14:02:04,856 INFO L272 TraceCheckUtils]: 4: Hoare triple {5652#(< ~counter~0 6)} call #t~ret9 := main(); {5652#(< ~counter~0 6)} is VALID [2022-04-07 14:02:04,856 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5652#(< ~counter~0 6)} {5363#true} #102#return; {5652#(< ~counter~0 6)} is VALID [2022-04-07 14:02:04,856 INFO L290 TraceCheckUtils]: 2: Hoare triple {5652#(< ~counter~0 6)} assume true; {5652#(< ~counter~0 6)} is VALID [2022-04-07 14:02:04,857 INFO L290 TraceCheckUtils]: 1: Hoare triple {5363#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; {5652#(< ~counter~0 6)} is VALID [2022-04-07 14:02:04,857 INFO L272 TraceCheckUtils]: 0: Hoare triple {5363#true} call ULTIMATE.init(); {5363#true} is VALID [2022-04-07 14:02:04,857 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-07 14:02:04,857 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:02:04,858 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1964300403] [2022-04-07 14:02:04,858 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:02:04,858 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1438754575] [2022-04-07 14:02:04,858 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1438754575] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 14:02:04,858 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 14:02:04,858 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-07 14:02:04,859 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1242947800] [2022-04-07 14:02:04,859 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 14:02:04,860 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-07 14:02:04,860 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:02:04,861 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-07 14:02:04,943 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-07 14:02:04,944 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-07 14:02:04,944 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:02:04,944 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-07 14:02:04,944 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-07 14:02:04,945 INFO L87 Difference]: Start difference. First operand 157 states and 200 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-07 14:02:05,784 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:02:05,784 INFO L93 Difference]: Finished difference Result 215 states and 281 transitions. [2022-04-07 14:02:05,785 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-07 14:02:05,785 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-07 14:02:05,785 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:02:05,785 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-07 14:02:05,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 204 transitions. [2022-04-07 14:02:05,788 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-07 14:02:05,791 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 204 transitions. [2022-04-07 14:02:05,791 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 204 transitions. [2022-04-07 14:02:05,988 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-07 14:02:05,993 INFO L225 Difference]: With dead ends: 215 [2022-04-07 14:02:05,993 INFO L226 Difference]: Without dead ends: 210 [2022-04-07 14:02:05,993 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-07 14:02:05,994 INFO L913 BasicCegarLoop]: 57 mSDtfsCounter, 222 mSDsluCounter, 175 mSDsCounter, 0 mSdLazyCounter, 121 mSolverCounterSat, 127 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 222 SdHoareTripleChecker+Valid, 232 SdHoareTripleChecker+Invalid, 248 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 127 IncrementalHoareTripleChecker+Valid, 121 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-07 14:02:05,994 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [222 Valid, 232 Invalid, 248 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [127 Valid, 121 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-07 14:02:05,995 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 210 states. [2022-04-07 14:02:06,089 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 210 to 202. [2022-04-07 14:02:06,090 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:02:06,090 INFO L82 GeneralOperation]: Start isEquivalent. First operand 210 states. Second operand has 202 states, 148 states have (on average 1.2297297297297298) internal successors, (182), 152 states have internal predecessors, (182), 40 states have call successors, (40), 15 states have call predecessors, (40), 13 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-07 14:02:06,091 INFO L74 IsIncluded]: Start isIncluded. First operand 210 states. Second operand has 202 states, 148 states have (on average 1.2297297297297298) internal successors, (182), 152 states have internal predecessors, (182), 40 states have call successors, (40), 15 states have call predecessors, (40), 13 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-07 14:02:06,091 INFO L87 Difference]: Start difference. First operand 210 states. Second operand has 202 states, 148 states have (on average 1.2297297297297298) internal successors, (182), 152 states have internal predecessors, (182), 40 states have call successors, (40), 15 states have call predecessors, (40), 13 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-07 14:02:06,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:02:06,097 INFO L93 Difference]: Finished difference Result 210 states and 270 transitions. [2022-04-07 14:02:06,097 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 270 transitions. [2022-04-07 14:02:06,098 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:02:06,098 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:02:06,098 INFO L74 IsIncluded]: Start isIncluded. First operand has 202 states, 148 states have (on average 1.2297297297297298) internal successors, (182), 152 states have internal predecessors, (182), 40 states have call successors, (40), 15 states have call predecessors, (40), 13 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) Second operand 210 states. [2022-04-07 14:02:06,099 INFO L87 Difference]: Start difference. First operand has 202 states, 148 states have (on average 1.2297297297297298) internal successors, (182), 152 states have internal predecessors, (182), 40 states have call successors, (40), 15 states have call predecessors, (40), 13 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) Second operand 210 states. [2022-04-07 14:02:06,104 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:02:06,104 INFO L93 Difference]: Finished difference Result 210 states and 270 transitions. [2022-04-07 14:02:06,105 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 270 transitions. [2022-04-07 14:02:06,105 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:02:06,105 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:02:06,105 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:02:06,105 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:02:06,106 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 202 states, 148 states have (on average 1.2297297297297298) internal successors, (182), 152 states have internal predecessors, (182), 40 states have call successors, (40), 15 states have call predecessors, (40), 13 states have return successors, (38), 34 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-07 14:02:06,111 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 202 states and 260 transitions. [2022-04-07 14:02:06,112 INFO L78 Accepts]: Start accepts. Automaton has 202 states and 260 transitions. Word has length 55 [2022-04-07 14:02:06,112 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:02:06,112 INFO L478 AbstractCegarLoop]: Abstraction has 202 states and 260 transitions. [2022-04-07 14:02:06,112 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-07 14:02:06,112 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 260 transitions. [2022-04-07 14:02:06,113 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-07 14:02:06,113 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:02:06,114 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-07 14:02:06,139 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-07 14:02:06,331 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-07 14:02:06,331 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:02:06,332 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:02:06,332 INFO L85 PathProgramCache]: Analyzing trace with hash -304792209, now seen corresponding path program 1 times [2022-04-07 14:02:06,332 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:02:06,332 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1363932237] [2022-04-07 14:02:06,332 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:02:06,332 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:02:06,346 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:02:06,346 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1822751147] [2022-04-07 14:02:06,346 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:02:06,346 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:02:06,346 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:02:06,347 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-07 14:02:06,355 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-07 14:02:06,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:02:06,422 INFO L263 TraceCheckSpWp]: Trace formula consists of 239 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-07 14:02:06,435 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:02:06,442 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:02:06,695 INFO L272 TraceCheckUtils]: 0: Hoare triple {6719#true} call ULTIMATE.init(); {6719#true} is VALID [2022-04-07 14:02:06,695 INFO L290 TraceCheckUtils]: 1: Hoare triple {6719#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; {6719#true} is VALID [2022-04-07 14:02:06,695 INFO L290 TraceCheckUtils]: 2: Hoare triple {6719#true} assume true; {6719#true} is VALID [2022-04-07 14:02:06,695 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6719#true} {6719#true} #102#return; {6719#true} is VALID [2022-04-07 14:02:06,695 INFO L272 TraceCheckUtils]: 4: Hoare triple {6719#true} call #t~ret9 := main(); {6719#true} is VALID [2022-04-07 14:02:06,695 INFO L290 TraceCheckUtils]: 5: Hoare triple {6719#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; {6719#true} is VALID [2022-04-07 14:02:06,695 INFO L272 TraceCheckUtils]: 6: Hoare triple {6719#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {6719#true} is VALID [2022-04-07 14:02:06,695 INFO L290 TraceCheckUtils]: 7: Hoare triple {6719#true} ~cond := #in~cond; {6719#true} is VALID [2022-04-07 14:02:06,695 INFO L290 TraceCheckUtils]: 8: Hoare triple {6719#true} assume !(0 == ~cond); {6719#true} is VALID [2022-04-07 14:02:06,696 INFO L290 TraceCheckUtils]: 9: Hoare triple {6719#true} assume true; {6719#true} is VALID [2022-04-07 14:02:06,696 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6719#true} {6719#true} #90#return; {6719#true} is VALID [2022-04-07 14:02:06,696 INFO L272 TraceCheckUtils]: 11: Hoare triple {6719#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)); {6719#true} is VALID [2022-04-07 14:02:06,696 INFO L290 TraceCheckUtils]: 12: Hoare triple {6719#true} ~cond := #in~cond; {6719#true} is VALID [2022-04-07 14:02:06,696 INFO L290 TraceCheckUtils]: 13: Hoare triple {6719#true} assume !(0 == ~cond); {6719#true} is VALID [2022-04-07 14:02:06,696 INFO L290 TraceCheckUtils]: 14: Hoare triple {6719#true} assume true; {6719#true} is VALID [2022-04-07 14:02:06,696 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6719#true} {6719#true} #92#return; {6719#true} is VALID [2022-04-07 14:02:06,696 INFO L290 TraceCheckUtils]: 16: Hoare triple {6719#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,697 INFO L290 TraceCheckUtils]: 17: Hoare triple {6772#(<= main_~v~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,697 INFO L290 TraceCheckUtils]: 18: Hoare triple {6772#(<= main_~v~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,697 INFO L272 TraceCheckUtils]: 19: Hoare triple {6772#(<= 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)); {6719#true} is VALID [2022-04-07 14:02:06,697 INFO L290 TraceCheckUtils]: 20: Hoare triple {6719#true} ~cond := #in~cond; {6719#true} is VALID [2022-04-07 14:02:06,697 INFO L290 TraceCheckUtils]: 21: Hoare triple {6719#true} assume !(0 == ~cond); {6719#true} is VALID [2022-04-07 14:02:06,697 INFO L290 TraceCheckUtils]: 22: Hoare triple {6719#true} assume true; {6719#true} is VALID [2022-04-07 14:02:06,698 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6719#true} {6772#(<= main_~v~0 1)} #94#return; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,698 INFO L290 TraceCheckUtils]: 24: Hoare triple {6772#(<= main_~v~0 1)} assume !!(0 != ~r~0); {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,698 INFO L290 TraceCheckUtils]: 25: Hoare triple {6772#(<= main_~v~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,698 INFO L290 TraceCheckUtils]: 26: Hoare triple {6772#(<= main_~v~0 1)} assume !!(#t~post7 < 10);havoc #t~post7; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,698 INFO L272 TraceCheckUtils]: 27: Hoare triple {6772#(<= 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)); {6719#true} is VALID [2022-04-07 14:02:06,698 INFO L290 TraceCheckUtils]: 28: Hoare triple {6719#true} ~cond := #in~cond; {6719#true} is VALID [2022-04-07 14:02:06,699 INFO L290 TraceCheckUtils]: 29: Hoare triple {6719#true} assume !(0 == ~cond); {6719#true} is VALID [2022-04-07 14:02:06,699 INFO L290 TraceCheckUtils]: 30: Hoare triple {6719#true} assume true; {6719#true} is VALID [2022-04-07 14:02:06,699 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {6719#true} {6772#(<= main_~v~0 1)} #96#return; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,699 INFO L290 TraceCheckUtils]: 32: Hoare triple {6772#(<= main_~v~0 1)} assume !(~r~0 > 0); {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,700 INFO L290 TraceCheckUtils]: 33: Hoare triple {6772#(<= main_~v~0 1)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,700 INFO L290 TraceCheckUtils]: 34: Hoare triple {6772#(<= main_~v~0 1)} assume !!(#t~post8 < 10);havoc #t~post8; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,700 INFO L272 TraceCheckUtils]: 35: Hoare triple {6772#(<= 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)); {6719#true} is VALID [2022-04-07 14:02:06,700 INFO L290 TraceCheckUtils]: 36: Hoare triple {6719#true} ~cond := #in~cond; {6719#true} is VALID [2022-04-07 14:02:06,700 INFO L290 TraceCheckUtils]: 37: Hoare triple {6719#true} assume !(0 == ~cond); {6719#true} is VALID [2022-04-07 14:02:06,700 INFO L290 TraceCheckUtils]: 38: Hoare triple {6719#true} assume true; {6719#true} is VALID [2022-04-07 14:02:06,706 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6719#true} {6772#(<= main_~v~0 1)} #98#return; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,707 INFO L290 TraceCheckUtils]: 40: Hoare triple {6772#(<= main_~v~0 1)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,707 INFO L290 TraceCheckUtils]: 41: Hoare triple {6772#(<= main_~v~0 1)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,708 INFO L290 TraceCheckUtils]: 42: Hoare triple {6772#(<= main_~v~0 1)} assume !!(#t~post8 < 10);havoc #t~post8; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,708 INFO L272 TraceCheckUtils]: 43: Hoare triple {6772#(<= 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)); {6719#true} is VALID [2022-04-07 14:02:06,708 INFO L290 TraceCheckUtils]: 44: Hoare triple {6719#true} ~cond := #in~cond; {6719#true} is VALID [2022-04-07 14:02:06,708 INFO L290 TraceCheckUtils]: 45: Hoare triple {6719#true} assume !(0 == ~cond); {6719#true} is VALID [2022-04-07 14:02:06,708 INFO L290 TraceCheckUtils]: 46: Hoare triple {6719#true} assume true; {6719#true} is VALID [2022-04-07 14:02:06,709 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6719#true} {6772#(<= main_~v~0 1)} #98#return; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,709 INFO L290 TraceCheckUtils]: 48: Hoare triple {6772#(<= main_~v~0 1)} assume !(~r~0 < 0); {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,709 INFO L290 TraceCheckUtils]: 49: Hoare triple {6772#(<= main_~v~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,710 INFO L290 TraceCheckUtils]: 50: Hoare triple {6772#(<= main_~v~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,710 INFO L272 TraceCheckUtils]: 51: Hoare triple {6772#(<= 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)); {6719#true} is VALID [2022-04-07 14:02:06,710 INFO L290 TraceCheckUtils]: 52: Hoare triple {6719#true} ~cond := #in~cond; {6719#true} is VALID [2022-04-07 14:02:06,710 INFO L290 TraceCheckUtils]: 53: Hoare triple {6719#true} assume !(0 == ~cond); {6719#true} is VALID [2022-04-07 14:02:06,710 INFO L290 TraceCheckUtils]: 54: Hoare triple {6719#true} assume true; {6719#true} is VALID [2022-04-07 14:02:06,711 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6719#true} {6772#(<= main_~v~0 1)} #94#return; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,711 INFO L290 TraceCheckUtils]: 56: Hoare triple {6772#(<= main_~v~0 1)} assume !!(0 != ~r~0); {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,711 INFO L290 TraceCheckUtils]: 57: Hoare triple {6772#(<= main_~v~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,712 INFO L290 TraceCheckUtils]: 58: Hoare triple {6772#(<= main_~v~0 1)} assume !!(#t~post7 < 10);havoc #t~post7; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,712 INFO L272 TraceCheckUtils]: 59: Hoare triple {6772#(<= 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)); {6719#true} is VALID [2022-04-07 14:02:06,712 INFO L290 TraceCheckUtils]: 60: Hoare triple {6719#true} ~cond := #in~cond; {6719#true} is VALID [2022-04-07 14:02:06,712 INFO L290 TraceCheckUtils]: 61: Hoare triple {6719#true} assume !(0 == ~cond); {6719#true} is VALID [2022-04-07 14:02:06,712 INFO L290 TraceCheckUtils]: 62: Hoare triple {6719#true} assume true; {6719#true} is VALID [2022-04-07 14:02:06,713 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {6719#true} {6772#(<= main_~v~0 1)} #96#return; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,713 INFO L290 TraceCheckUtils]: 64: Hoare triple {6772#(<= main_~v~0 1)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6917#(< 0 (+ main_~r~0 1))} is VALID [2022-04-07 14:02:06,714 INFO L290 TraceCheckUtils]: 65: Hoare triple {6917#(< 0 (+ main_~r~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6917#(< 0 (+ main_~r~0 1))} is VALID [2022-04-07 14:02:06,714 INFO L290 TraceCheckUtils]: 66: Hoare triple {6917#(< 0 (+ main_~r~0 1))} assume !(#t~post7 < 10);havoc #t~post7; {6917#(< 0 (+ main_~r~0 1))} is VALID [2022-04-07 14:02:06,714 INFO L290 TraceCheckUtils]: 67: Hoare triple {6917#(< 0 (+ main_~r~0 1))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6917#(< 0 (+ main_~r~0 1))} is VALID [2022-04-07 14:02:06,715 INFO L290 TraceCheckUtils]: 68: Hoare triple {6917#(< 0 (+ main_~r~0 1))} assume !!(#t~post8 < 10);havoc #t~post8; {6917#(< 0 (+ main_~r~0 1))} is VALID [2022-04-07 14:02:06,715 INFO L272 TraceCheckUtils]: 69: Hoare triple {6917#(< 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)); {6719#true} is VALID [2022-04-07 14:02:06,715 INFO L290 TraceCheckUtils]: 70: Hoare triple {6719#true} ~cond := #in~cond; {6719#true} is VALID [2022-04-07 14:02:06,715 INFO L290 TraceCheckUtils]: 71: Hoare triple {6719#true} assume !(0 == ~cond); {6719#true} is VALID [2022-04-07 14:02:06,715 INFO L290 TraceCheckUtils]: 72: Hoare triple {6719#true} assume true; {6719#true} is VALID [2022-04-07 14:02:06,716 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6719#true} {6917#(< 0 (+ main_~r~0 1))} #98#return; {6917#(< 0 (+ main_~r~0 1))} is VALID [2022-04-07 14:02:06,716 INFO L290 TraceCheckUtils]: 74: Hoare triple {6917#(< 0 (+ main_~r~0 1))} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {6720#false} is VALID [2022-04-07 14:02:06,716 INFO L290 TraceCheckUtils]: 75: Hoare triple {6720#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6720#false} is VALID [2022-04-07 14:02:06,716 INFO L290 TraceCheckUtils]: 76: Hoare triple {6720#false} assume !!(#t~post8 < 10);havoc #t~post8; {6720#false} is VALID [2022-04-07 14:02:06,717 INFO L272 TraceCheckUtils]: 77: Hoare triple {6720#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)); {6720#false} is VALID [2022-04-07 14:02:06,717 INFO L290 TraceCheckUtils]: 78: Hoare triple {6720#false} ~cond := #in~cond; {6720#false} is VALID [2022-04-07 14:02:06,717 INFO L290 TraceCheckUtils]: 79: Hoare triple {6720#false} assume !(0 == ~cond); {6720#false} is VALID [2022-04-07 14:02:06,717 INFO L290 TraceCheckUtils]: 80: Hoare triple {6720#false} assume true; {6720#false} is VALID [2022-04-07 14:02:06,717 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {6720#false} {6720#false} #98#return; {6720#false} is VALID [2022-04-07 14:02:06,717 INFO L290 TraceCheckUtils]: 82: Hoare triple {6720#false} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {6720#false} is VALID [2022-04-07 14:02:06,717 INFO L290 TraceCheckUtils]: 83: Hoare triple {6720#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6720#false} is VALID [2022-04-07 14:02:06,717 INFO L290 TraceCheckUtils]: 84: Hoare triple {6720#false} assume !(#t~post8 < 10);havoc #t~post8; {6720#false} is VALID [2022-04-07 14:02:06,717 INFO L290 TraceCheckUtils]: 85: Hoare triple {6720#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6720#false} is VALID [2022-04-07 14:02:06,717 INFO L290 TraceCheckUtils]: 86: Hoare triple {6720#false} assume !(#t~post6 < 10);havoc #t~post6; {6720#false} is VALID [2022-04-07 14:02:06,717 INFO L272 TraceCheckUtils]: 87: Hoare triple {6720#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)); {6720#false} is VALID [2022-04-07 14:02:06,718 INFO L290 TraceCheckUtils]: 88: Hoare triple {6720#false} ~cond := #in~cond; {6720#false} is VALID [2022-04-07 14:02:06,718 INFO L290 TraceCheckUtils]: 89: Hoare triple {6720#false} assume 0 == ~cond; {6720#false} is VALID [2022-04-07 14:02:06,718 INFO L290 TraceCheckUtils]: 90: Hoare triple {6720#false} assume !false; {6720#false} is VALID [2022-04-07 14:02:06,718 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-07 14:02:06,718 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 14:02:06,985 INFO L290 TraceCheckUtils]: 90: Hoare triple {6720#false} assume !false; {6720#false} is VALID [2022-04-07 14:02:06,985 INFO L290 TraceCheckUtils]: 89: Hoare triple {6720#false} assume 0 == ~cond; {6720#false} is VALID [2022-04-07 14:02:06,985 INFO L290 TraceCheckUtils]: 88: Hoare triple {6720#false} ~cond := #in~cond; {6720#false} is VALID [2022-04-07 14:02:06,986 INFO L272 TraceCheckUtils]: 87: Hoare triple {6720#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)); {6720#false} is VALID [2022-04-07 14:02:06,986 INFO L290 TraceCheckUtils]: 86: Hoare triple {6720#false} assume !(#t~post6 < 10);havoc #t~post6; {6720#false} is VALID [2022-04-07 14:02:06,986 INFO L290 TraceCheckUtils]: 85: Hoare triple {6720#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6720#false} is VALID [2022-04-07 14:02:06,986 INFO L290 TraceCheckUtils]: 84: Hoare triple {6720#false} assume !(#t~post8 < 10);havoc #t~post8; {6720#false} is VALID [2022-04-07 14:02:06,986 INFO L290 TraceCheckUtils]: 83: Hoare triple {6720#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6720#false} is VALID [2022-04-07 14:02:06,986 INFO L290 TraceCheckUtils]: 82: Hoare triple {6720#false} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {6720#false} is VALID [2022-04-07 14:02:06,986 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {6719#true} {6720#false} #98#return; {6720#false} is VALID [2022-04-07 14:02:06,986 INFO L290 TraceCheckUtils]: 80: Hoare triple {6719#true} assume true; {6719#true} is VALID [2022-04-07 14:02:06,986 INFO L290 TraceCheckUtils]: 79: Hoare triple {6719#true} assume !(0 == ~cond); {6719#true} is VALID [2022-04-07 14:02:06,986 INFO L290 TraceCheckUtils]: 78: Hoare triple {6719#true} ~cond := #in~cond; {6719#true} is VALID [2022-04-07 14:02:06,986 INFO L272 TraceCheckUtils]: 77: Hoare triple {6720#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)); {6719#true} is VALID [2022-04-07 14:02:06,986 INFO L290 TraceCheckUtils]: 76: Hoare triple {6720#false} assume !!(#t~post8 < 10);havoc #t~post8; {6720#false} is VALID [2022-04-07 14:02:06,986 INFO L290 TraceCheckUtils]: 75: Hoare triple {6720#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6720#false} is VALID [2022-04-07 14:02:06,987 INFO L290 TraceCheckUtils]: 74: Hoare triple {6917#(< 0 (+ main_~r~0 1))} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {6720#false} is VALID [2022-04-07 14:02:06,987 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6719#true} {6917#(< 0 (+ main_~r~0 1))} #98#return; {6917#(< 0 (+ main_~r~0 1))} is VALID [2022-04-07 14:02:06,987 INFO L290 TraceCheckUtils]: 72: Hoare triple {6719#true} assume true; {6719#true} is VALID [2022-04-07 14:02:06,987 INFO L290 TraceCheckUtils]: 71: Hoare triple {6719#true} assume !(0 == ~cond); {6719#true} is VALID [2022-04-07 14:02:06,987 INFO L290 TraceCheckUtils]: 70: Hoare triple {6719#true} ~cond := #in~cond; {6719#true} is VALID [2022-04-07 14:02:06,988 INFO L272 TraceCheckUtils]: 69: Hoare triple {6917#(< 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)); {6719#true} is VALID [2022-04-07 14:02:06,988 INFO L290 TraceCheckUtils]: 68: Hoare triple {6917#(< 0 (+ main_~r~0 1))} assume !!(#t~post8 < 10);havoc #t~post8; {6917#(< 0 (+ main_~r~0 1))} is VALID [2022-04-07 14:02:06,988 INFO L290 TraceCheckUtils]: 67: Hoare triple {6917#(< 0 (+ main_~r~0 1))} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6917#(< 0 (+ main_~r~0 1))} is VALID [2022-04-07 14:02:06,988 INFO L290 TraceCheckUtils]: 66: Hoare triple {6917#(< 0 (+ main_~r~0 1))} assume !(#t~post7 < 10);havoc #t~post7; {6917#(< 0 (+ main_~r~0 1))} is VALID [2022-04-07 14:02:06,989 INFO L290 TraceCheckUtils]: 65: Hoare triple {6917#(< 0 (+ main_~r~0 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6917#(< 0 (+ main_~r~0 1))} is VALID [2022-04-07 14:02:06,989 INFO L290 TraceCheckUtils]: 64: Hoare triple {6772#(<= main_~v~0 1)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6917#(< 0 (+ main_~r~0 1))} is VALID [2022-04-07 14:02:06,989 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {6719#true} {6772#(<= main_~v~0 1)} #96#return; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,990 INFO L290 TraceCheckUtils]: 62: Hoare triple {6719#true} assume true; {6719#true} is VALID [2022-04-07 14:02:06,990 INFO L290 TraceCheckUtils]: 61: Hoare triple {6719#true} assume !(0 == ~cond); {6719#true} is VALID [2022-04-07 14:02:06,990 INFO L290 TraceCheckUtils]: 60: Hoare triple {6719#true} ~cond := #in~cond; {6719#true} is VALID [2022-04-07 14:02:06,990 INFO L272 TraceCheckUtils]: 59: Hoare triple {6772#(<= 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)); {6719#true} is VALID [2022-04-07 14:02:06,990 INFO L290 TraceCheckUtils]: 58: Hoare triple {6772#(<= main_~v~0 1)} assume !!(#t~post7 < 10);havoc #t~post7; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,990 INFO L290 TraceCheckUtils]: 57: Hoare triple {6772#(<= main_~v~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,990 INFO L290 TraceCheckUtils]: 56: Hoare triple {6772#(<= main_~v~0 1)} assume !!(0 != ~r~0); {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,991 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6719#true} {6772#(<= main_~v~0 1)} #94#return; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,991 INFO L290 TraceCheckUtils]: 54: Hoare triple {6719#true} assume true; {6719#true} is VALID [2022-04-07 14:02:06,991 INFO L290 TraceCheckUtils]: 53: Hoare triple {6719#true} assume !(0 == ~cond); {6719#true} is VALID [2022-04-07 14:02:06,991 INFO L290 TraceCheckUtils]: 52: Hoare triple {6719#true} ~cond := #in~cond; {6719#true} is VALID [2022-04-07 14:02:06,991 INFO L272 TraceCheckUtils]: 51: Hoare triple {6772#(<= 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)); {6719#true} is VALID [2022-04-07 14:02:06,991 INFO L290 TraceCheckUtils]: 50: Hoare triple {6772#(<= main_~v~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,992 INFO L290 TraceCheckUtils]: 49: Hoare triple {6772#(<= main_~v~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,992 INFO L290 TraceCheckUtils]: 48: Hoare triple {6772#(<= main_~v~0 1)} assume !(~r~0 < 0); {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,992 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6719#true} {6772#(<= main_~v~0 1)} #98#return; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,992 INFO L290 TraceCheckUtils]: 46: Hoare triple {6719#true} assume true; {6719#true} is VALID [2022-04-07 14:02:06,993 INFO L290 TraceCheckUtils]: 45: Hoare triple {6719#true} assume !(0 == ~cond); {6719#true} is VALID [2022-04-07 14:02:06,993 INFO L290 TraceCheckUtils]: 44: Hoare triple {6719#true} ~cond := #in~cond; {6719#true} is VALID [2022-04-07 14:02:06,993 INFO L272 TraceCheckUtils]: 43: Hoare triple {6772#(<= 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)); {6719#true} is VALID [2022-04-07 14:02:06,993 INFO L290 TraceCheckUtils]: 42: Hoare triple {6772#(<= main_~v~0 1)} assume !!(#t~post8 < 10);havoc #t~post8; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,993 INFO L290 TraceCheckUtils]: 41: Hoare triple {6772#(<= main_~v~0 1)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,993 INFO L290 TraceCheckUtils]: 40: Hoare triple {6772#(<= main_~v~0 1)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,994 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6719#true} {6772#(<= main_~v~0 1)} #98#return; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,994 INFO L290 TraceCheckUtils]: 38: Hoare triple {6719#true} assume true; {6719#true} is VALID [2022-04-07 14:02:06,994 INFO L290 TraceCheckUtils]: 37: Hoare triple {6719#true} assume !(0 == ~cond); {6719#true} is VALID [2022-04-07 14:02:06,994 INFO L290 TraceCheckUtils]: 36: Hoare triple {6719#true} ~cond := #in~cond; {6719#true} is VALID [2022-04-07 14:02:06,994 INFO L272 TraceCheckUtils]: 35: Hoare triple {6772#(<= 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)); {6719#true} is VALID [2022-04-07 14:02:06,994 INFO L290 TraceCheckUtils]: 34: Hoare triple {6772#(<= main_~v~0 1)} assume !!(#t~post8 < 10);havoc #t~post8; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,995 INFO L290 TraceCheckUtils]: 33: Hoare triple {6772#(<= main_~v~0 1)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,995 INFO L290 TraceCheckUtils]: 32: Hoare triple {6772#(<= main_~v~0 1)} assume !(~r~0 > 0); {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,995 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {6719#true} {6772#(<= main_~v~0 1)} #96#return; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,995 INFO L290 TraceCheckUtils]: 30: Hoare triple {6719#true} assume true; {6719#true} is VALID [2022-04-07 14:02:06,995 INFO L290 TraceCheckUtils]: 29: Hoare triple {6719#true} assume !(0 == ~cond); {6719#true} is VALID [2022-04-07 14:02:06,995 INFO L290 TraceCheckUtils]: 28: Hoare triple {6719#true} ~cond := #in~cond; {6719#true} is VALID [2022-04-07 14:02:06,996 INFO L272 TraceCheckUtils]: 27: Hoare triple {6772#(<= 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)); {6719#true} is VALID [2022-04-07 14:02:06,996 INFO L290 TraceCheckUtils]: 26: Hoare triple {6772#(<= main_~v~0 1)} assume !!(#t~post7 < 10);havoc #t~post7; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,996 INFO L290 TraceCheckUtils]: 25: Hoare triple {6772#(<= main_~v~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,996 INFO L290 TraceCheckUtils]: 24: Hoare triple {6772#(<= main_~v~0 1)} assume !!(0 != ~r~0); {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,997 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6719#true} {6772#(<= main_~v~0 1)} #94#return; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,997 INFO L290 TraceCheckUtils]: 22: Hoare triple {6719#true} assume true; {6719#true} is VALID [2022-04-07 14:02:06,997 INFO L290 TraceCheckUtils]: 21: Hoare triple {6719#true} assume !(0 == ~cond); {6719#true} is VALID [2022-04-07 14:02:06,997 INFO L290 TraceCheckUtils]: 20: Hoare triple {6719#true} ~cond := #in~cond; {6719#true} is VALID [2022-04-07 14:02:06,997 INFO L272 TraceCheckUtils]: 19: Hoare triple {6772#(<= 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)); {6719#true} is VALID [2022-04-07 14:02:06,997 INFO L290 TraceCheckUtils]: 18: Hoare triple {6772#(<= main_~v~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,997 INFO L290 TraceCheckUtils]: 17: Hoare triple {6772#(<= main_~v~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,998 INFO L290 TraceCheckUtils]: 16: Hoare triple {6719#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {6772#(<= main_~v~0 1)} is VALID [2022-04-07 14:02:06,998 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6719#true} {6719#true} #92#return; {6719#true} is VALID [2022-04-07 14:02:06,998 INFO L290 TraceCheckUtils]: 14: Hoare triple {6719#true} assume true; {6719#true} is VALID [2022-04-07 14:02:06,998 INFO L290 TraceCheckUtils]: 13: Hoare triple {6719#true} assume !(0 == ~cond); {6719#true} is VALID [2022-04-07 14:02:06,998 INFO L290 TraceCheckUtils]: 12: Hoare triple {6719#true} ~cond := #in~cond; {6719#true} is VALID [2022-04-07 14:02:06,998 INFO L272 TraceCheckUtils]: 11: Hoare triple {6719#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)); {6719#true} is VALID [2022-04-07 14:02:06,998 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6719#true} {6719#true} #90#return; {6719#true} is VALID [2022-04-07 14:02:06,998 INFO L290 TraceCheckUtils]: 9: Hoare triple {6719#true} assume true; {6719#true} is VALID [2022-04-07 14:02:06,998 INFO L290 TraceCheckUtils]: 8: Hoare triple {6719#true} assume !(0 == ~cond); {6719#true} is VALID [2022-04-07 14:02:06,998 INFO L290 TraceCheckUtils]: 7: Hoare triple {6719#true} ~cond := #in~cond; {6719#true} is VALID [2022-04-07 14:02:06,998 INFO L272 TraceCheckUtils]: 6: Hoare triple {6719#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {6719#true} is VALID [2022-04-07 14:02:06,998 INFO L290 TraceCheckUtils]: 5: Hoare triple {6719#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; {6719#true} is VALID [2022-04-07 14:02:06,998 INFO L272 TraceCheckUtils]: 4: Hoare triple {6719#true} call #t~ret9 := main(); {6719#true} is VALID [2022-04-07 14:02:06,998 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6719#true} {6719#true} #102#return; {6719#true} is VALID [2022-04-07 14:02:06,999 INFO L290 TraceCheckUtils]: 2: Hoare triple {6719#true} assume true; {6719#true} is VALID [2022-04-07 14:02:06,999 INFO L290 TraceCheckUtils]: 1: Hoare triple {6719#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; {6719#true} is VALID [2022-04-07 14:02:06,999 INFO L272 TraceCheckUtils]: 0: Hoare triple {6719#true} call ULTIMATE.init(); {6719#true} is VALID [2022-04-07 14:02:06,999 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-07 14:02:06,999 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:02:06,999 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1363932237] [2022-04-07 14:02:06,999 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:02:07,000 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1822751147] [2022-04-07 14:02:07,000 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1822751147] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 14:02:07,000 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 14:02:07,000 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 4 [2022-04-07 14:02:07,000 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1747353445] [2022-04-07 14:02:07,000 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 14:02:07,001 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-07 14:02:07,001 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:02:07,001 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-07 14:02:07,050 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-07 14:02:07,050 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-07 14:02:07,050 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:02:07,050 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-07 14:02:07,050 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-07 14:02:07,051 INFO L87 Difference]: Start difference. First operand 202 states and 260 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-07 14:02:07,488 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:02:07,488 INFO L93 Difference]: Finished difference Result 506 states and 700 transitions. [2022-04-07 14:02:07,488 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 14:02:07,488 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-07 14:02:07,488 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:02:07,489 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-07 14:02:07,490 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 129 transitions. [2022-04-07 14:02:07,490 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-07 14:02:07,492 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 129 transitions. [2022-04-07 14:02:07,492 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 129 transitions. [2022-04-07 14:02:07,587 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-07 14:02:07,597 INFO L225 Difference]: With dead ends: 506 [2022-04-07 14:02:07,597 INFO L226 Difference]: Without dead ends: 363 [2022-04-07 14:02:07,598 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-07 14:02:07,598 INFO L913 BasicCegarLoop]: 67 mSDtfsCounter, 18 mSDsluCounter, 70 mSDsCounter, 0 mSdLazyCounter, 40 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 40 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 14:02:07,599 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 137 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 40 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 14:02:07,599 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 363 states. [2022-04-07 14:02:07,799 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 363 to 346. [2022-04-07 14:02:07,799 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:02:07,800 INFO L82 GeneralOperation]: Start isEquivalent. First operand 363 states. Second operand has 346 states, 258 states have (on average 1.2635658914728682) internal successors, (326), 264 states have internal predecessors, (326), 74 states have call successors, (74), 15 states have call predecessors, (74), 13 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-07 14:02:07,801 INFO L74 IsIncluded]: Start isIncluded. First operand 363 states. Second operand has 346 states, 258 states have (on average 1.2635658914728682) internal successors, (326), 264 states have internal predecessors, (326), 74 states have call successors, (74), 15 states have call predecessors, (74), 13 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-07 14:02:07,801 INFO L87 Difference]: Start difference. First operand 363 states. Second operand has 346 states, 258 states have (on average 1.2635658914728682) internal successors, (326), 264 states have internal predecessors, (326), 74 states have call successors, (74), 15 states have call predecessors, (74), 13 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-07 14:02:07,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:02:07,812 INFO L93 Difference]: Finished difference Result 363 states and 493 transitions. [2022-04-07 14:02:07,812 INFO L276 IsEmpty]: Start isEmpty. Operand 363 states and 493 transitions. [2022-04-07 14:02:07,814 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:02:07,814 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:02:07,814 INFO L74 IsIncluded]: Start isIncluded. First operand has 346 states, 258 states have (on average 1.2635658914728682) internal successors, (326), 264 states have internal predecessors, (326), 74 states have call successors, (74), 15 states have call predecessors, (74), 13 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) Second operand 363 states. [2022-04-07 14:02:07,815 INFO L87 Difference]: Start difference. First operand has 346 states, 258 states have (on average 1.2635658914728682) internal successors, (326), 264 states have internal predecessors, (326), 74 states have call successors, (74), 15 states have call predecessors, (74), 13 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) Second operand 363 states. [2022-04-07 14:02:07,826 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:02:07,826 INFO L93 Difference]: Finished difference Result 363 states and 493 transitions. [2022-04-07 14:02:07,826 INFO L276 IsEmpty]: Start isEmpty. Operand 363 states and 493 transitions. [2022-04-07 14:02:07,828 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:02:07,828 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:02:07,828 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:02:07,828 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:02:07,829 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 346 states, 258 states have (on average 1.2635658914728682) internal successors, (326), 264 states have internal predecessors, (326), 74 states have call successors, (74), 15 states have call predecessors, (74), 13 states have return successors, (72), 66 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-07 14:02:07,840 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 346 states to 346 states and 472 transitions. [2022-04-07 14:02:07,840 INFO L78 Accepts]: Start accepts. Automaton has 346 states and 472 transitions. Word has length 91 [2022-04-07 14:02:07,840 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:02:07,840 INFO L478 AbstractCegarLoop]: Abstraction has 346 states and 472 transitions. [2022-04-07 14:02:07,841 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-07 14:02:07,841 INFO L276 IsEmpty]: Start isEmpty. Operand 346 states and 472 transitions. [2022-04-07 14:02:07,842 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-07 14:02:07,842 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:02:07,842 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-07 14:02:07,868 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-07 14:02:08,066 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-07 14:02:08,066 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:02:08,067 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:02:08,067 INFO L85 PathProgramCache]: Analyzing trace with hash 1103092705, now seen corresponding path program 2 times [2022-04-07 14:02:08,067 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:02:08,067 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2038150780] [2022-04-07 14:02:08,067 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:02:08,067 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:02:08,082 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:02:08,083 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1733637752] [2022-04-07 14:02:08,083 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 14:02:08,083 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:02:08,083 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:02:08,086 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-07 14:02:08,119 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-07 14:02:08,160 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 14:02:08,160 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 14:02:08,161 INFO L263 TraceCheckSpWp]: Trace formula consists of 239 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-07 14:02:08,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:02:08,180 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:02:08,619 INFO L272 TraceCheckUtils]: 0: Hoare triple {9191#true} call ULTIMATE.init(); {9191#true} is VALID [2022-04-07 14:02:08,620 INFO L290 TraceCheckUtils]: 1: Hoare triple {9191#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; {9199#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:08,623 INFO L290 TraceCheckUtils]: 2: Hoare triple {9199#(<= ~counter~0 0)} assume true; {9199#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:08,624 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9199#(<= ~counter~0 0)} {9191#true} #102#return; {9199#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:08,624 INFO L272 TraceCheckUtils]: 4: Hoare triple {9199#(<= ~counter~0 0)} call #t~ret9 := main(); {9199#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:08,624 INFO L290 TraceCheckUtils]: 5: Hoare triple {9199#(<= ~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; {9199#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:08,625 INFO L272 TraceCheckUtils]: 6: Hoare triple {9199#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {9199#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:08,625 INFO L290 TraceCheckUtils]: 7: Hoare triple {9199#(<= ~counter~0 0)} ~cond := #in~cond; {9199#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:08,626 INFO L290 TraceCheckUtils]: 8: Hoare triple {9199#(<= ~counter~0 0)} assume !(0 == ~cond); {9199#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:08,626 INFO L290 TraceCheckUtils]: 9: Hoare triple {9199#(<= ~counter~0 0)} assume true; {9199#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:08,626 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9199#(<= ~counter~0 0)} {9199#(<= ~counter~0 0)} #90#return; {9199#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:08,627 INFO L272 TraceCheckUtils]: 11: Hoare triple {9199#(<= ~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)); {9199#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:08,627 INFO L290 TraceCheckUtils]: 12: Hoare triple {9199#(<= ~counter~0 0)} ~cond := #in~cond; {9199#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:08,628 INFO L290 TraceCheckUtils]: 13: Hoare triple {9199#(<= ~counter~0 0)} assume !(0 == ~cond); {9199#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:08,628 INFO L290 TraceCheckUtils]: 14: Hoare triple {9199#(<= ~counter~0 0)} assume true; {9199#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:08,629 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9199#(<= ~counter~0 0)} {9199#(<= ~counter~0 0)} #92#return; {9199#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:08,629 INFO L290 TraceCheckUtils]: 16: Hoare triple {9199#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {9199#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:08,639 INFO L290 TraceCheckUtils]: 17: Hoare triple {9199#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9248#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:08,640 INFO L290 TraceCheckUtils]: 18: Hoare triple {9248#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {9248#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:08,641 INFO L272 TraceCheckUtils]: 19: Hoare triple {9248#(<= ~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)); {9248#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:08,641 INFO L290 TraceCheckUtils]: 20: Hoare triple {9248#(<= ~counter~0 1)} ~cond := #in~cond; {9248#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:08,641 INFO L290 TraceCheckUtils]: 21: Hoare triple {9248#(<= ~counter~0 1)} assume !(0 == ~cond); {9248#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:08,642 INFO L290 TraceCheckUtils]: 22: Hoare triple {9248#(<= ~counter~0 1)} assume true; {9248#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:08,642 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9248#(<= ~counter~0 1)} {9248#(<= ~counter~0 1)} #94#return; {9248#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:08,642 INFO L290 TraceCheckUtils]: 24: Hoare triple {9248#(<= ~counter~0 1)} assume !!(0 != ~r~0); {9248#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:08,643 INFO L290 TraceCheckUtils]: 25: Hoare triple {9248#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9273#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:08,643 INFO L290 TraceCheckUtils]: 26: Hoare triple {9273#(<= ~counter~0 2)} assume !!(#t~post7 < 10);havoc #t~post7; {9273#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:08,644 INFO L272 TraceCheckUtils]: 27: Hoare triple {9273#(<= ~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)); {9273#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:08,644 INFO L290 TraceCheckUtils]: 28: Hoare triple {9273#(<= ~counter~0 2)} ~cond := #in~cond; {9273#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:08,644 INFO L290 TraceCheckUtils]: 29: Hoare triple {9273#(<= ~counter~0 2)} assume !(0 == ~cond); {9273#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:08,644 INFO L290 TraceCheckUtils]: 30: Hoare triple {9273#(<= ~counter~0 2)} assume true; {9273#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:08,645 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {9273#(<= ~counter~0 2)} {9273#(<= ~counter~0 2)} #96#return; {9273#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:08,645 INFO L290 TraceCheckUtils]: 32: Hoare triple {9273#(<= ~counter~0 2)} assume !(~r~0 > 0); {9273#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:08,645 INFO L290 TraceCheckUtils]: 33: Hoare triple {9273#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {9298#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:08,646 INFO L290 TraceCheckUtils]: 34: Hoare triple {9298#(<= ~counter~0 3)} assume !!(#t~post8 < 10);havoc #t~post8; {9298#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:08,646 INFO L272 TraceCheckUtils]: 35: Hoare triple {9298#(<= ~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)); {9298#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:08,646 INFO L290 TraceCheckUtils]: 36: Hoare triple {9298#(<= ~counter~0 3)} ~cond := #in~cond; {9298#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:08,647 INFO L290 TraceCheckUtils]: 37: Hoare triple {9298#(<= ~counter~0 3)} assume !(0 == ~cond); {9298#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:08,647 INFO L290 TraceCheckUtils]: 38: Hoare triple {9298#(<= ~counter~0 3)} assume true; {9298#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:08,647 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {9298#(<= ~counter~0 3)} {9298#(<= ~counter~0 3)} #98#return; {9298#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:08,648 INFO L290 TraceCheckUtils]: 40: Hoare triple {9298#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {9298#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:08,648 INFO L290 TraceCheckUtils]: 41: Hoare triple {9298#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {9323#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:08,648 INFO L290 TraceCheckUtils]: 42: Hoare triple {9323#(<= ~counter~0 4)} assume !!(#t~post8 < 10);havoc #t~post8; {9323#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:08,649 INFO L272 TraceCheckUtils]: 43: Hoare triple {9323#(<= ~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)); {9323#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:08,652 INFO L290 TraceCheckUtils]: 44: Hoare triple {9323#(<= ~counter~0 4)} ~cond := #in~cond; {9323#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:08,653 INFO L290 TraceCheckUtils]: 45: Hoare triple {9323#(<= ~counter~0 4)} assume !(0 == ~cond); {9323#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:08,653 INFO L290 TraceCheckUtils]: 46: Hoare triple {9323#(<= ~counter~0 4)} assume true; {9323#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:08,654 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {9323#(<= ~counter~0 4)} {9323#(<= ~counter~0 4)} #98#return; {9323#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:08,654 INFO L290 TraceCheckUtils]: 48: Hoare triple {9323#(<= ~counter~0 4)} assume !(~r~0 < 0); {9323#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:08,655 INFO L290 TraceCheckUtils]: 49: Hoare triple {9323#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9348#(<= ~counter~0 5)} is VALID [2022-04-07 14:02:08,655 INFO L290 TraceCheckUtils]: 50: Hoare triple {9348#(<= ~counter~0 5)} assume !!(#t~post6 < 10);havoc #t~post6; {9348#(<= ~counter~0 5)} is VALID [2022-04-07 14:02:08,656 INFO L272 TraceCheckUtils]: 51: Hoare triple {9348#(<= ~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)); {9348#(<= ~counter~0 5)} is VALID [2022-04-07 14:02:08,656 INFO L290 TraceCheckUtils]: 52: Hoare triple {9348#(<= ~counter~0 5)} ~cond := #in~cond; {9348#(<= ~counter~0 5)} is VALID [2022-04-07 14:02:08,656 INFO L290 TraceCheckUtils]: 53: Hoare triple {9348#(<= ~counter~0 5)} assume !(0 == ~cond); {9348#(<= ~counter~0 5)} is VALID [2022-04-07 14:02:08,656 INFO L290 TraceCheckUtils]: 54: Hoare triple {9348#(<= ~counter~0 5)} assume true; {9348#(<= ~counter~0 5)} is VALID [2022-04-07 14:02:08,657 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9348#(<= ~counter~0 5)} {9348#(<= ~counter~0 5)} #94#return; {9348#(<= ~counter~0 5)} is VALID [2022-04-07 14:02:08,657 INFO L290 TraceCheckUtils]: 56: Hoare triple {9348#(<= ~counter~0 5)} assume !!(0 != ~r~0); {9348#(<= ~counter~0 5)} is VALID [2022-04-07 14:02:08,658 INFO L290 TraceCheckUtils]: 57: Hoare triple {9348#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9373#(<= ~counter~0 6)} is VALID [2022-04-07 14:02:08,658 INFO L290 TraceCheckUtils]: 58: Hoare triple {9373#(<= ~counter~0 6)} assume !!(#t~post7 < 10);havoc #t~post7; {9373#(<= ~counter~0 6)} is VALID [2022-04-07 14:02:08,658 INFO L272 TraceCheckUtils]: 59: Hoare triple {9373#(<= ~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)); {9373#(<= ~counter~0 6)} is VALID [2022-04-07 14:02:08,659 INFO L290 TraceCheckUtils]: 60: Hoare triple {9373#(<= ~counter~0 6)} ~cond := #in~cond; {9373#(<= ~counter~0 6)} is VALID [2022-04-07 14:02:08,659 INFO L290 TraceCheckUtils]: 61: Hoare triple {9373#(<= ~counter~0 6)} assume !(0 == ~cond); {9373#(<= ~counter~0 6)} is VALID [2022-04-07 14:02:08,659 INFO L290 TraceCheckUtils]: 62: Hoare triple {9373#(<= ~counter~0 6)} assume true; {9373#(<= ~counter~0 6)} is VALID [2022-04-07 14:02:08,660 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {9373#(<= ~counter~0 6)} {9373#(<= ~counter~0 6)} #96#return; {9373#(<= ~counter~0 6)} is VALID [2022-04-07 14:02:08,660 INFO L290 TraceCheckUtils]: 64: Hoare triple {9373#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9373#(<= ~counter~0 6)} is VALID [2022-04-07 14:02:08,660 INFO L290 TraceCheckUtils]: 65: Hoare triple {9373#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9398#(<= ~counter~0 7)} is VALID [2022-04-07 14:02:08,660 INFO L290 TraceCheckUtils]: 66: Hoare triple {9398#(<= ~counter~0 7)} assume !!(#t~post7 < 10);havoc #t~post7; {9398#(<= ~counter~0 7)} is VALID [2022-04-07 14:02:08,661 INFO L272 TraceCheckUtils]: 67: Hoare triple {9398#(<= ~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)); {9398#(<= ~counter~0 7)} is VALID [2022-04-07 14:02:08,661 INFO L290 TraceCheckUtils]: 68: Hoare triple {9398#(<= ~counter~0 7)} ~cond := #in~cond; {9398#(<= ~counter~0 7)} is VALID [2022-04-07 14:02:08,661 INFO L290 TraceCheckUtils]: 69: Hoare triple {9398#(<= ~counter~0 7)} assume !(0 == ~cond); {9398#(<= ~counter~0 7)} is VALID [2022-04-07 14:02:08,662 INFO L290 TraceCheckUtils]: 70: Hoare triple {9398#(<= ~counter~0 7)} assume true; {9398#(<= ~counter~0 7)} is VALID [2022-04-07 14:02:08,662 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {9398#(<= ~counter~0 7)} {9398#(<= ~counter~0 7)} #96#return; {9398#(<= ~counter~0 7)} is VALID [2022-04-07 14:02:08,662 INFO L290 TraceCheckUtils]: 72: Hoare triple {9398#(<= ~counter~0 7)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9398#(<= ~counter~0 7)} is VALID [2022-04-07 14:02:08,663 INFO L290 TraceCheckUtils]: 73: Hoare triple {9398#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9423#(<= |main_#t~post7| 7)} is VALID [2022-04-07 14:02:08,663 INFO L290 TraceCheckUtils]: 74: Hoare triple {9423#(<= |main_#t~post7| 7)} assume !(#t~post7 < 10);havoc #t~post7; {9192#false} is VALID [2022-04-07 14:02:08,663 INFO L290 TraceCheckUtils]: 75: Hoare triple {9192#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {9192#false} is VALID [2022-04-07 14:02:08,663 INFO L290 TraceCheckUtils]: 76: Hoare triple {9192#false} assume !!(#t~post8 < 10);havoc #t~post8; {9192#false} is VALID [2022-04-07 14:02:08,663 INFO L272 TraceCheckUtils]: 77: Hoare triple {9192#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)); {9192#false} is VALID [2022-04-07 14:02:08,663 INFO L290 TraceCheckUtils]: 78: Hoare triple {9192#false} ~cond := #in~cond; {9192#false} is VALID [2022-04-07 14:02:08,664 INFO L290 TraceCheckUtils]: 79: Hoare triple {9192#false} assume !(0 == ~cond); {9192#false} is VALID [2022-04-07 14:02:08,664 INFO L290 TraceCheckUtils]: 80: Hoare triple {9192#false} assume true; {9192#false} is VALID [2022-04-07 14:02:08,664 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {9192#false} {9192#false} #98#return; {9192#false} is VALID [2022-04-07 14:02:08,664 INFO L290 TraceCheckUtils]: 82: Hoare triple {9192#false} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {9192#false} is VALID [2022-04-07 14:02:08,664 INFO L290 TraceCheckUtils]: 83: Hoare triple {9192#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {9192#false} is VALID [2022-04-07 14:02:08,664 INFO L290 TraceCheckUtils]: 84: Hoare triple {9192#false} assume !(#t~post8 < 10);havoc #t~post8; {9192#false} is VALID [2022-04-07 14:02:08,664 INFO L290 TraceCheckUtils]: 85: Hoare triple {9192#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9192#false} is VALID [2022-04-07 14:02:08,664 INFO L290 TraceCheckUtils]: 86: Hoare triple {9192#false} assume !(#t~post6 < 10);havoc #t~post6; {9192#false} is VALID [2022-04-07 14:02:08,664 INFO L272 TraceCheckUtils]: 87: Hoare triple {9192#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)); {9192#false} is VALID [2022-04-07 14:02:08,664 INFO L290 TraceCheckUtils]: 88: Hoare triple {9192#false} ~cond := #in~cond; {9192#false} is VALID [2022-04-07 14:02:08,664 INFO L290 TraceCheckUtils]: 89: Hoare triple {9192#false} assume 0 == ~cond; {9192#false} is VALID [2022-04-07 14:02:08,665 INFO L290 TraceCheckUtils]: 90: Hoare triple {9192#false} assume !false; {9192#false} is VALID [2022-04-07 14:02:08,665 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-07 14:02:08,665 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 14:02:09,096 INFO L290 TraceCheckUtils]: 90: Hoare triple {9192#false} assume !false; {9192#false} is VALID [2022-04-07 14:02:09,096 INFO L290 TraceCheckUtils]: 89: Hoare triple {9192#false} assume 0 == ~cond; {9192#false} is VALID [2022-04-07 14:02:09,096 INFO L290 TraceCheckUtils]: 88: Hoare triple {9192#false} ~cond := #in~cond; {9192#false} is VALID [2022-04-07 14:02:09,096 INFO L272 TraceCheckUtils]: 87: Hoare triple {9192#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)); {9192#false} is VALID [2022-04-07 14:02:09,096 INFO L290 TraceCheckUtils]: 86: Hoare triple {9192#false} assume !(#t~post6 < 10);havoc #t~post6; {9192#false} is VALID [2022-04-07 14:02:09,096 INFO L290 TraceCheckUtils]: 85: Hoare triple {9192#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9192#false} is VALID [2022-04-07 14:02:09,096 INFO L290 TraceCheckUtils]: 84: Hoare triple {9192#false} assume !(#t~post8 < 10);havoc #t~post8; {9192#false} is VALID [2022-04-07 14:02:09,096 INFO L290 TraceCheckUtils]: 83: Hoare triple {9192#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {9192#false} is VALID [2022-04-07 14:02:09,097 INFO L290 TraceCheckUtils]: 82: Hoare triple {9192#false} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {9192#false} is VALID [2022-04-07 14:02:09,097 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {9191#true} {9192#false} #98#return; {9192#false} is VALID [2022-04-07 14:02:09,097 INFO L290 TraceCheckUtils]: 80: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-07 14:02:09,097 INFO L290 TraceCheckUtils]: 79: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-07 14:02:09,097 INFO L290 TraceCheckUtils]: 78: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-07 14:02:09,097 INFO L272 TraceCheckUtils]: 77: Hoare triple {9192#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)); {9191#true} is VALID [2022-04-07 14:02:09,097 INFO L290 TraceCheckUtils]: 76: Hoare triple {9192#false} assume !!(#t~post8 < 10);havoc #t~post8; {9192#false} is VALID [2022-04-07 14:02:09,097 INFO L290 TraceCheckUtils]: 75: Hoare triple {9192#false} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {9192#false} is VALID [2022-04-07 14:02:09,097 INFO L290 TraceCheckUtils]: 74: Hoare triple {9523#(< |main_#t~post7| 10)} assume !(#t~post7 < 10);havoc #t~post7; {9192#false} is VALID [2022-04-07 14:02:09,098 INFO L290 TraceCheckUtils]: 73: Hoare triple {9527#(< ~counter~0 10)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9523#(< |main_#t~post7| 10)} is VALID [2022-04-07 14:02:09,098 INFO L290 TraceCheckUtils]: 72: Hoare triple {9527#(< ~counter~0 10)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9527#(< ~counter~0 10)} is VALID [2022-04-07 14:02:09,098 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {9191#true} {9527#(< ~counter~0 10)} #96#return; {9527#(< ~counter~0 10)} is VALID [2022-04-07 14:02:09,098 INFO L290 TraceCheckUtils]: 70: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-07 14:02:09,098 INFO L290 TraceCheckUtils]: 69: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-07 14:02:09,099 INFO L290 TraceCheckUtils]: 68: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-07 14:02:09,099 INFO L272 TraceCheckUtils]: 67: Hoare triple {9527#(< ~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)); {9191#true} is VALID [2022-04-07 14:02:09,099 INFO L290 TraceCheckUtils]: 66: Hoare triple {9527#(< ~counter~0 10)} assume !!(#t~post7 < 10);havoc #t~post7; {9527#(< ~counter~0 10)} is VALID [2022-04-07 14:02:09,099 INFO L290 TraceCheckUtils]: 65: Hoare triple {9552#(< ~counter~0 9)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9527#(< ~counter~0 10)} is VALID [2022-04-07 14:02:09,100 INFO L290 TraceCheckUtils]: 64: Hoare triple {9552#(< ~counter~0 9)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {9552#(< ~counter~0 9)} is VALID [2022-04-07 14:02:09,100 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {9191#true} {9552#(< ~counter~0 9)} #96#return; {9552#(< ~counter~0 9)} is VALID [2022-04-07 14:02:09,100 INFO L290 TraceCheckUtils]: 62: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-07 14:02:09,100 INFO L290 TraceCheckUtils]: 61: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-07 14:02:09,100 INFO L290 TraceCheckUtils]: 60: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-07 14:02:09,100 INFO L272 TraceCheckUtils]: 59: Hoare triple {9552#(< ~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)); {9191#true} is VALID [2022-04-07 14:02:09,101 INFO L290 TraceCheckUtils]: 58: Hoare triple {9552#(< ~counter~0 9)} assume !!(#t~post7 < 10);havoc #t~post7; {9552#(< ~counter~0 9)} is VALID [2022-04-07 14:02:09,101 INFO L290 TraceCheckUtils]: 57: Hoare triple {9398#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9552#(< ~counter~0 9)} is VALID [2022-04-07 14:02:09,101 INFO L290 TraceCheckUtils]: 56: Hoare triple {9398#(<= ~counter~0 7)} assume !!(0 != ~r~0); {9398#(<= ~counter~0 7)} is VALID [2022-04-07 14:02:09,102 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9191#true} {9398#(<= ~counter~0 7)} #94#return; {9398#(<= ~counter~0 7)} is VALID [2022-04-07 14:02:09,102 INFO L290 TraceCheckUtils]: 54: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-07 14:02:09,102 INFO L290 TraceCheckUtils]: 53: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-07 14:02:09,102 INFO L290 TraceCheckUtils]: 52: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-07 14:02:09,102 INFO L272 TraceCheckUtils]: 51: Hoare triple {9398#(<= ~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)); {9191#true} is VALID [2022-04-07 14:02:09,102 INFO L290 TraceCheckUtils]: 50: Hoare triple {9398#(<= ~counter~0 7)} assume !!(#t~post6 < 10);havoc #t~post6; {9398#(<= ~counter~0 7)} is VALID [2022-04-07 14:02:09,103 INFO L290 TraceCheckUtils]: 49: Hoare triple {9373#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9398#(<= ~counter~0 7)} is VALID [2022-04-07 14:02:09,103 INFO L290 TraceCheckUtils]: 48: Hoare triple {9373#(<= ~counter~0 6)} assume !(~r~0 < 0); {9373#(<= ~counter~0 6)} is VALID [2022-04-07 14:02:09,104 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {9191#true} {9373#(<= ~counter~0 6)} #98#return; {9373#(<= ~counter~0 6)} is VALID [2022-04-07 14:02:09,104 INFO L290 TraceCheckUtils]: 46: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-07 14:02:09,104 INFO L290 TraceCheckUtils]: 45: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-07 14:02:09,104 INFO L290 TraceCheckUtils]: 44: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-07 14:02:09,104 INFO L272 TraceCheckUtils]: 43: Hoare triple {9373#(<= ~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)); {9191#true} is VALID [2022-04-07 14:02:09,104 INFO L290 TraceCheckUtils]: 42: Hoare triple {9373#(<= ~counter~0 6)} assume !!(#t~post8 < 10);havoc #t~post8; {9373#(<= ~counter~0 6)} is VALID [2022-04-07 14:02:09,105 INFO L290 TraceCheckUtils]: 41: Hoare triple {9348#(<= ~counter~0 5)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {9373#(<= ~counter~0 6)} is VALID [2022-04-07 14:02:09,105 INFO L290 TraceCheckUtils]: 40: Hoare triple {9348#(<= ~counter~0 5)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {9348#(<= ~counter~0 5)} is VALID [2022-04-07 14:02:09,106 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {9191#true} {9348#(<= ~counter~0 5)} #98#return; {9348#(<= ~counter~0 5)} is VALID [2022-04-07 14:02:09,106 INFO L290 TraceCheckUtils]: 38: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-07 14:02:09,106 INFO L290 TraceCheckUtils]: 37: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-07 14:02:09,106 INFO L290 TraceCheckUtils]: 36: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-07 14:02:09,106 INFO L272 TraceCheckUtils]: 35: Hoare triple {9348#(<= ~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)); {9191#true} is VALID [2022-04-07 14:02:09,106 INFO L290 TraceCheckUtils]: 34: Hoare triple {9348#(<= ~counter~0 5)} assume !!(#t~post8 < 10);havoc #t~post8; {9348#(<= ~counter~0 5)} is VALID [2022-04-07 14:02:09,106 INFO L290 TraceCheckUtils]: 33: Hoare triple {9323#(<= ~counter~0 4)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {9348#(<= ~counter~0 5)} is VALID [2022-04-07 14:02:09,107 INFO L290 TraceCheckUtils]: 32: Hoare triple {9323#(<= ~counter~0 4)} assume !(~r~0 > 0); {9323#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:09,107 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {9191#true} {9323#(<= ~counter~0 4)} #96#return; {9323#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:09,107 INFO L290 TraceCheckUtils]: 30: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-07 14:02:09,107 INFO L290 TraceCheckUtils]: 29: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-07 14:02:09,107 INFO L290 TraceCheckUtils]: 28: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-07 14:02:09,107 INFO L272 TraceCheckUtils]: 27: Hoare triple {9323#(<= ~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)); {9191#true} is VALID [2022-04-07 14:02:09,108 INFO L290 TraceCheckUtils]: 26: Hoare triple {9323#(<= ~counter~0 4)} assume !!(#t~post7 < 10);havoc #t~post7; {9323#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:09,108 INFO L290 TraceCheckUtils]: 25: Hoare triple {9298#(<= ~counter~0 3)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {9323#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:09,108 INFO L290 TraceCheckUtils]: 24: Hoare triple {9298#(<= ~counter~0 3)} assume !!(0 != ~r~0); {9298#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:09,109 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9191#true} {9298#(<= ~counter~0 3)} #94#return; {9298#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:09,109 INFO L290 TraceCheckUtils]: 22: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-07 14:02:09,109 INFO L290 TraceCheckUtils]: 21: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-07 14:02:09,109 INFO L290 TraceCheckUtils]: 20: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-07 14:02:09,109 INFO L272 TraceCheckUtils]: 19: Hoare triple {9298#(<= ~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)); {9191#true} is VALID [2022-04-07 14:02:09,109 INFO L290 TraceCheckUtils]: 18: Hoare triple {9298#(<= ~counter~0 3)} assume !!(#t~post6 < 10);havoc #t~post6; {9298#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:09,110 INFO L290 TraceCheckUtils]: 17: Hoare triple {9273#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9298#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:09,110 INFO L290 TraceCheckUtils]: 16: Hoare triple {9273#(<= ~counter~0 2)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {9273#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:09,110 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9191#true} {9273#(<= ~counter~0 2)} #92#return; {9273#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:09,110 INFO L290 TraceCheckUtils]: 14: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-07 14:02:09,110 INFO L290 TraceCheckUtils]: 13: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-07 14:02:09,111 INFO L290 TraceCheckUtils]: 12: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-07 14:02:09,111 INFO L272 TraceCheckUtils]: 11: Hoare triple {9273#(<= ~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)); {9191#true} is VALID [2022-04-07 14:02:09,111 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9191#true} {9273#(<= ~counter~0 2)} #90#return; {9273#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:09,111 INFO L290 TraceCheckUtils]: 9: Hoare triple {9191#true} assume true; {9191#true} is VALID [2022-04-07 14:02:09,111 INFO L290 TraceCheckUtils]: 8: Hoare triple {9191#true} assume !(0 == ~cond); {9191#true} is VALID [2022-04-07 14:02:09,111 INFO L290 TraceCheckUtils]: 7: Hoare triple {9191#true} ~cond := #in~cond; {9191#true} is VALID [2022-04-07 14:02:09,111 INFO L272 TraceCheckUtils]: 6: Hoare triple {9273#(<= ~counter~0 2)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {9191#true} is VALID [2022-04-07 14:02:09,111 INFO L290 TraceCheckUtils]: 5: Hoare triple {9273#(<= ~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; {9273#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:09,112 INFO L272 TraceCheckUtils]: 4: Hoare triple {9273#(<= ~counter~0 2)} call #t~ret9 := main(); {9273#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:09,112 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9273#(<= ~counter~0 2)} {9191#true} #102#return; {9273#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:09,112 INFO L290 TraceCheckUtils]: 2: Hoare triple {9273#(<= ~counter~0 2)} assume true; {9273#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:09,113 INFO L290 TraceCheckUtils]: 1: Hoare triple {9191#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; {9273#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:09,113 INFO L272 TraceCheckUtils]: 0: Hoare triple {9191#true} call ULTIMATE.init(); {9191#true} is VALID [2022-04-07 14:02:09,113 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-07 14:02:09,113 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:02:09,113 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2038150780] [2022-04-07 14:02:09,113 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:02:09,113 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1733637752] [2022-04-07 14:02:09,113 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1733637752] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 14:02:09,113 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 14:02:09,113 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 14 [2022-04-07 14:02:09,114 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [62188943] [2022-04-07 14:02:09,114 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 14:02:09,114 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-07 14:02:09,115 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:02:09,115 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-07 14:02:09,227 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-07 14:02:09,227 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-07 14:02:09,227 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:02:09,228 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-07 14:02:09,228 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-07 14:02:09,228 INFO L87 Difference]: Start difference. First operand 346 states and 472 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-07 14:02:10,154 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:02:10,154 INFO L93 Difference]: Finished difference Result 475 states and 653 transitions. [2022-04-07 14:02:10,154 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-07 14:02:10,155 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-07 14:02:10,155 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:02:10,155 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-07 14:02:10,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 221 transitions. [2022-04-07 14:02:10,158 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-07 14:02:10,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 221 transitions. [2022-04-07 14:02:10,160 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 221 transitions. [2022-04-07 14:02:10,345 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-07 14:02:10,355 INFO L225 Difference]: With dead ends: 475 [2022-04-07 14:02:10,355 INFO L226 Difference]: Without dead ends: 356 [2022-04-07 14:02:10,356 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-07 14:02:10,356 INFO L913 BasicCegarLoop]: 57 mSDtfsCounter, 168 mSDsluCounter, 225 mSDsCounter, 0 mSdLazyCounter, 107 mSolverCounterSat, 99 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 168 SdHoareTripleChecker+Valid, 282 SdHoareTripleChecker+Invalid, 206 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 99 IncrementalHoareTripleChecker+Valid, 107 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-07 14:02:10,357 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [168 Valid, 282 Invalid, 206 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [99 Valid, 107 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-07 14:02:10,357 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 356 states. [2022-04-07 14:02:10,569 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 356 to 352. [2022-04-07 14:02:10,569 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:02:10,570 INFO L82 GeneralOperation]: Start isEquivalent. First operand 356 states. Second operand has 352 states, 266 states have (on average 1.2218045112781954) internal successors, (325), 266 states have internal predecessors, (325), 72 states have call successors, (72), 15 states have call predecessors, (72), 13 states have return successors, (70), 70 states have call predecessors, (70), 70 states have call successors, (70) [2022-04-07 14:02:10,571 INFO L74 IsIncluded]: Start isIncluded. First operand 356 states. Second operand has 352 states, 266 states have (on average 1.2218045112781954) internal successors, (325), 266 states have internal predecessors, (325), 72 states have call successors, (72), 15 states have call predecessors, (72), 13 states have return successors, (70), 70 states have call predecessors, (70), 70 states have call successors, (70) [2022-04-07 14:02:10,571 INFO L87 Difference]: Start difference. First operand 356 states. Second operand has 352 states, 266 states have (on average 1.2218045112781954) internal successors, (325), 266 states have internal predecessors, (325), 72 states have call successors, (72), 15 states have call predecessors, (72), 13 states have return successors, (70), 70 states have call predecessors, (70), 70 states have call successors, (70) [2022-04-07 14:02:10,582 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:02:10,582 INFO L93 Difference]: Finished difference Result 356 states and 471 transitions. [2022-04-07 14:02:10,582 INFO L276 IsEmpty]: Start isEmpty. Operand 356 states and 471 transitions. [2022-04-07 14:02:10,583 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:02:10,583 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:02:10,584 INFO L74 IsIncluded]: Start isIncluded. First operand has 352 states, 266 states have (on average 1.2218045112781954) internal successors, (325), 266 states have internal predecessors, (325), 72 states have call successors, (72), 15 states have call predecessors, (72), 13 states have return successors, (70), 70 states have call predecessors, (70), 70 states have call successors, (70) Second operand 356 states. [2022-04-07 14:02:10,584 INFO L87 Difference]: Start difference. First operand has 352 states, 266 states have (on average 1.2218045112781954) internal successors, (325), 266 states have internal predecessors, (325), 72 states have call successors, (72), 15 states have call predecessors, (72), 13 states have return successors, (70), 70 states have call predecessors, (70), 70 states have call successors, (70) Second operand 356 states. [2022-04-07 14:02:10,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:02:10,595 INFO L93 Difference]: Finished difference Result 356 states and 471 transitions. [2022-04-07 14:02:10,595 INFO L276 IsEmpty]: Start isEmpty. Operand 356 states and 471 transitions. [2022-04-07 14:02:10,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:02:10,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:02:10,596 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:02:10,596 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:02:10,597 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 352 states, 266 states have (on average 1.2218045112781954) internal successors, (325), 266 states have internal predecessors, (325), 72 states have call successors, (72), 15 states have call predecessors, (72), 13 states have return successors, (70), 70 states have call predecessors, (70), 70 states have call successors, (70) [2022-04-07 14:02:10,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 352 states to 352 states and 467 transitions. [2022-04-07 14:02:10,609 INFO L78 Accepts]: Start accepts. Automaton has 352 states and 467 transitions. Word has length 91 [2022-04-07 14:02:10,609 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:02:10,609 INFO L478 AbstractCegarLoop]: Abstraction has 352 states and 467 transitions. [2022-04-07 14:02:10,609 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-07 14:02:10,610 INFO L276 IsEmpty]: Start isEmpty. Operand 352 states and 467 transitions. [2022-04-07 14:02:10,611 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 98 [2022-04-07 14:02:10,611 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:02:10,612 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-07 14:02:10,641 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-07 14:02:10,824 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-07 14:02:10,825 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:02:10,825 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:02:10,825 INFO L85 PathProgramCache]: Analyzing trace with hash 1660747519, now seen corresponding path program 1 times [2022-04-07 14:02:10,825 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:02:10,825 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1107382515] [2022-04-07 14:02:10,825 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:02:10,825 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:02:10,838 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:02:10,839 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1892788407] [2022-04-07 14:02:10,839 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:02:10,839 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:02:10,839 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:02:10,840 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-07 14:02:10,863 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-07 14:02:10,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:02:10,911 INFO L263 TraceCheckSpWp]: Trace formula consists of 249 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-07 14:02:10,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 14:02:10,931 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 14:02:11,453 INFO L272 TraceCheckUtils]: 0: Hoare triple {11635#true} call ULTIMATE.init(); {11635#true} is VALID [2022-04-07 14:02:11,453 INFO L290 TraceCheckUtils]: 1: Hoare triple {11635#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; {11643#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:11,454 INFO L290 TraceCheckUtils]: 2: Hoare triple {11643#(<= ~counter~0 0)} assume true; {11643#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:11,454 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11643#(<= ~counter~0 0)} {11635#true} #102#return; {11643#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:11,454 INFO L272 TraceCheckUtils]: 4: Hoare triple {11643#(<= ~counter~0 0)} call #t~ret9 := main(); {11643#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:11,455 INFO L290 TraceCheckUtils]: 5: Hoare triple {11643#(<= ~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; {11643#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:11,455 INFO L272 TraceCheckUtils]: 6: Hoare triple {11643#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {11643#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:11,455 INFO L290 TraceCheckUtils]: 7: Hoare triple {11643#(<= ~counter~0 0)} ~cond := #in~cond; {11643#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:11,455 INFO L290 TraceCheckUtils]: 8: Hoare triple {11643#(<= ~counter~0 0)} assume !(0 == ~cond); {11643#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:11,456 INFO L290 TraceCheckUtils]: 9: Hoare triple {11643#(<= ~counter~0 0)} assume true; {11643#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:11,456 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11643#(<= ~counter~0 0)} {11643#(<= ~counter~0 0)} #90#return; {11643#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:11,457 INFO L272 TraceCheckUtils]: 11: Hoare triple {11643#(<= ~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)); {11643#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:11,457 INFO L290 TraceCheckUtils]: 12: Hoare triple {11643#(<= ~counter~0 0)} ~cond := #in~cond; {11643#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:11,457 INFO L290 TraceCheckUtils]: 13: Hoare triple {11643#(<= ~counter~0 0)} assume !(0 == ~cond); {11643#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:11,457 INFO L290 TraceCheckUtils]: 14: Hoare triple {11643#(<= ~counter~0 0)} assume true; {11643#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:11,458 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11643#(<= ~counter~0 0)} {11643#(<= ~counter~0 0)} #92#return; {11643#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:11,459 INFO L290 TraceCheckUtils]: 16: Hoare triple {11643#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {11643#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:11,459 INFO L290 TraceCheckUtils]: 17: Hoare triple {11643#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11692#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:11,460 INFO L290 TraceCheckUtils]: 18: Hoare triple {11692#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {11692#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:11,460 INFO L272 TraceCheckUtils]: 19: Hoare triple {11692#(<= ~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)); {11692#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:11,460 INFO L290 TraceCheckUtils]: 20: Hoare triple {11692#(<= ~counter~0 1)} ~cond := #in~cond; {11692#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:11,462 INFO L290 TraceCheckUtils]: 21: Hoare triple {11692#(<= ~counter~0 1)} assume !(0 == ~cond); {11692#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:11,462 INFO L290 TraceCheckUtils]: 22: Hoare triple {11692#(<= ~counter~0 1)} assume true; {11692#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:11,463 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11692#(<= ~counter~0 1)} {11692#(<= ~counter~0 1)} #94#return; {11692#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:11,464 INFO L290 TraceCheckUtils]: 24: Hoare triple {11692#(<= ~counter~0 1)} assume !!(0 != ~r~0); {11692#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:11,464 INFO L290 TraceCheckUtils]: 25: Hoare triple {11692#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11717#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:11,465 INFO L290 TraceCheckUtils]: 26: Hoare triple {11717#(<= ~counter~0 2)} assume !!(#t~post7 < 10);havoc #t~post7; {11717#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:11,465 INFO L272 TraceCheckUtils]: 27: Hoare triple {11717#(<= ~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)); {11717#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:11,465 INFO L290 TraceCheckUtils]: 28: Hoare triple {11717#(<= ~counter~0 2)} ~cond := #in~cond; {11717#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:11,466 INFO L290 TraceCheckUtils]: 29: Hoare triple {11717#(<= ~counter~0 2)} assume !(0 == ~cond); {11717#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:11,466 INFO L290 TraceCheckUtils]: 30: Hoare triple {11717#(<= ~counter~0 2)} assume true; {11717#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:11,466 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {11717#(<= ~counter~0 2)} {11717#(<= ~counter~0 2)} #96#return; {11717#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:11,467 INFO L290 TraceCheckUtils]: 32: Hoare triple {11717#(<= ~counter~0 2)} assume !(~r~0 > 0); {11717#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:11,467 INFO L290 TraceCheckUtils]: 33: Hoare triple {11717#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {11742#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:11,467 INFO L290 TraceCheckUtils]: 34: Hoare triple {11742#(<= ~counter~0 3)} assume !!(#t~post8 < 10);havoc #t~post8; {11742#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:11,468 INFO L272 TraceCheckUtils]: 35: Hoare triple {11742#(<= ~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)); {11742#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:11,468 INFO L290 TraceCheckUtils]: 36: Hoare triple {11742#(<= ~counter~0 3)} ~cond := #in~cond; {11742#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:11,468 INFO L290 TraceCheckUtils]: 37: Hoare triple {11742#(<= ~counter~0 3)} assume !(0 == ~cond); {11742#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:11,469 INFO L290 TraceCheckUtils]: 38: Hoare triple {11742#(<= ~counter~0 3)} assume true; {11742#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:11,469 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {11742#(<= ~counter~0 3)} {11742#(<= ~counter~0 3)} #98#return; {11742#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:11,469 INFO L290 TraceCheckUtils]: 40: Hoare triple {11742#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {11742#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:11,470 INFO L290 TraceCheckUtils]: 41: Hoare triple {11742#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {11767#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:11,470 INFO L290 TraceCheckUtils]: 42: Hoare triple {11767#(<= ~counter~0 4)} assume !!(#t~post8 < 10);havoc #t~post8; {11767#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:11,471 INFO L272 TraceCheckUtils]: 43: Hoare triple {11767#(<= ~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)); {11767#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:11,471 INFO L290 TraceCheckUtils]: 44: Hoare triple {11767#(<= ~counter~0 4)} ~cond := #in~cond; {11767#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:11,471 INFO L290 TraceCheckUtils]: 45: Hoare triple {11767#(<= ~counter~0 4)} assume !(0 == ~cond); {11767#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:11,471 INFO L290 TraceCheckUtils]: 46: Hoare triple {11767#(<= ~counter~0 4)} assume true; {11767#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:11,472 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11767#(<= ~counter~0 4)} {11767#(<= ~counter~0 4)} #98#return; {11767#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:11,472 INFO L290 TraceCheckUtils]: 48: Hoare triple {11767#(<= ~counter~0 4)} assume !(~r~0 < 0); {11767#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:11,473 INFO L290 TraceCheckUtils]: 49: Hoare triple {11767#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11792#(<= ~counter~0 5)} is VALID [2022-04-07 14:02:11,473 INFO L290 TraceCheckUtils]: 50: Hoare triple {11792#(<= ~counter~0 5)} assume !!(#t~post6 < 10);havoc #t~post6; {11792#(<= ~counter~0 5)} is VALID [2022-04-07 14:02:11,473 INFO L272 TraceCheckUtils]: 51: Hoare triple {11792#(<= ~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)); {11792#(<= ~counter~0 5)} is VALID [2022-04-07 14:02:11,474 INFO L290 TraceCheckUtils]: 52: Hoare triple {11792#(<= ~counter~0 5)} ~cond := #in~cond; {11792#(<= ~counter~0 5)} is VALID [2022-04-07 14:02:11,474 INFO L290 TraceCheckUtils]: 53: Hoare triple {11792#(<= ~counter~0 5)} assume !(0 == ~cond); {11792#(<= ~counter~0 5)} is VALID [2022-04-07 14:02:11,474 INFO L290 TraceCheckUtils]: 54: Hoare triple {11792#(<= ~counter~0 5)} assume true; {11792#(<= ~counter~0 5)} is VALID [2022-04-07 14:02:11,475 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11792#(<= ~counter~0 5)} {11792#(<= ~counter~0 5)} #94#return; {11792#(<= ~counter~0 5)} is VALID [2022-04-07 14:02:11,475 INFO L290 TraceCheckUtils]: 56: Hoare triple {11792#(<= ~counter~0 5)} assume !!(0 != ~r~0); {11792#(<= ~counter~0 5)} is VALID [2022-04-07 14:02:11,475 INFO L290 TraceCheckUtils]: 57: Hoare triple {11792#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11817#(<= ~counter~0 6)} is VALID [2022-04-07 14:02:11,476 INFO L290 TraceCheckUtils]: 58: Hoare triple {11817#(<= ~counter~0 6)} assume !!(#t~post7 < 10);havoc #t~post7; {11817#(<= ~counter~0 6)} is VALID [2022-04-07 14:02:11,476 INFO L272 TraceCheckUtils]: 59: Hoare triple {11817#(<= ~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)); {11817#(<= ~counter~0 6)} is VALID [2022-04-07 14:02:11,476 INFO L290 TraceCheckUtils]: 60: Hoare triple {11817#(<= ~counter~0 6)} ~cond := #in~cond; {11817#(<= ~counter~0 6)} is VALID [2022-04-07 14:02:11,477 INFO L290 TraceCheckUtils]: 61: Hoare triple {11817#(<= ~counter~0 6)} assume !(0 == ~cond); {11817#(<= ~counter~0 6)} is VALID [2022-04-07 14:02:11,486 INFO L290 TraceCheckUtils]: 62: Hoare triple {11817#(<= ~counter~0 6)} assume true; {11817#(<= ~counter~0 6)} is VALID [2022-04-07 14:02:11,487 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {11817#(<= ~counter~0 6)} {11817#(<= ~counter~0 6)} #96#return; {11817#(<= ~counter~0 6)} is VALID [2022-04-07 14:02:11,487 INFO L290 TraceCheckUtils]: 64: Hoare triple {11817#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {11817#(<= ~counter~0 6)} is VALID [2022-04-07 14:02:11,488 INFO L290 TraceCheckUtils]: 65: Hoare triple {11817#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11842#(<= ~counter~0 7)} is VALID [2022-04-07 14:02:11,488 INFO L290 TraceCheckUtils]: 66: Hoare triple {11842#(<= ~counter~0 7)} assume !!(#t~post7 < 10);havoc #t~post7; {11842#(<= ~counter~0 7)} is VALID [2022-04-07 14:02:11,489 INFO L272 TraceCheckUtils]: 67: Hoare triple {11842#(<= ~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)); {11842#(<= ~counter~0 7)} is VALID [2022-04-07 14:02:11,489 INFO L290 TraceCheckUtils]: 68: Hoare triple {11842#(<= ~counter~0 7)} ~cond := #in~cond; {11842#(<= ~counter~0 7)} is VALID [2022-04-07 14:02:11,491 INFO L290 TraceCheckUtils]: 69: Hoare triple {11842#(<= ~counter~0 7)} assume !(0 == ~cond); {11842#(<= ~counter~0 7)} is VALID [2022-04-07 14:02:11,491 INFO L290 TraceCheckUtils]: 70: Hoare triple {11842#(<= ~counter~0 7)} assume true; {11842#(<= ~counter~0 7)} is VALID [2022-04-07 14:02:11,492 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {11842#(<= ~counter~0 7)} {11842#(<= ~counter~0 7)} #96#return; {11842#(<= ~counter~0 7)} is VALID [2022-04-07 14:02:11,495 INFO L290 TraceCheckUtils]: 72: Hoare triple {11842#(<= ~counter~0 7)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {11842#(<= ~counter~0 7)} is VALID [2022-04-07 14:02:11,496 INFO L290 TraceCheckUtils]: 73: Hoare triple {11842#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11867#(<= ~counter~0 8)} is VALID [2022-04-07 14:02:11,496 INFO L290 TraceCheckUtils]: 74: Hoare triple {11867#(<= ~counter~0 8)} assume !!(#t~post7 < 10);havoc #t~post7; {11867#(<= ~counter~0 8)} is VALID [2022-04-07 14:02:11,497 INFO L272 TraceCheckUtils]: 75: Hoare triple {11867#(<= ~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)); {11867#(<= ~counter~0 8)} is VALID [2022-04-07 14:02:11,497 INFO L290 TraceCheckUtils]: 76: Hoare triple {11867#(<= ~counter~0 8)} ~cond := #in~cond; {11867#(<= ~counter~0 8)} is VALID [2022-04-07 14:02:11,497 INFO L290 TraceCheckUtils]: 77: Hoare triple {11867#(<= ~counter~0 8)} assume !(0 == ~cond); {11867#(<= ~counter~0 8)} is VALID [2022-04-07 14:02:11,497 INFO L290 TraceCheckUtils]: 78: Hoare triple {11867#(<= ~counter~0 8)} assume true; {11867#(<= ~counter~0 8)} is VALID [2022-04-07 14:02:11,498 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {11867#(<= ~counter~0 8)} {11867#(<= ~counter~0 8)} #96#return; {11867#(<= ~counter~0 8)} is VALID [2022-04-07 14:02:11,498 INFO L290 TraceCheckUtils]: 80: Hoare triple {11867#(<= ~counter~0 8)} assume !(~r~0 > 0); {11867#(<= ~counter~0 8)} is VALID [2022-04-07 14:02:11,499 INFO L290 TraceCheckUtils]: 81: Hoare triple {11867#(<= ~counter~0 8)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {11892#(<= ~counter~0 9)} is VALID [2022-04-07 14:02:11,499 INFO L290 TraceCheckUtils]: 82: Hoare triple {11892#(<= ~counter~0 9)} assume !!(#t~post8 < 10);havoc #t~post8; {11892#(<= ~counter~0 9)} is VALID [2022-04-07 14:02:11,499 INFO L272 TraceCheckUtils]: 83: Hoare triple {11892#(<= ~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)); {11892#(<= ~counter~0 9)} is VALID [2022-04-07 14:02:11,500 INFO L290 TraceCheckUtils]: 84: Hoare triple {11892#(<= ~counter~0 9)} ~cond := #in~cond; {11892#(<= ~counter~0 9)} is VALID [2022-04-07 14:02:11,500 INFO L290 TraceCheckUtils]: 85: Hoare triple {11892#(<= ~counter~0 9)} assume !(0 == ~cond); {11892#(<= ~counter~0 9)} is VALID [2022-04-07 14:02:11,500 INFO L290 TraceCheckUtils]: 86: Hoare triple {11892#(<= ~counter~0 9)} assume true; {11892#(<= ~counter~0 9)} is VALID [2022-04-07 14:02:11,501 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {11892#(<= ~counter~0 9)} {11892#(<= ~counter~0 9)} #98#return; {11892#(<= ~counter~0 9)} is VALID [2022-04-07 14:02:11,501 INFO L290 TraceCheckUtils]: 88: Hoare triple {11892#(<= ~counter~0 9)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {11892#(<= ~counter~0 9)} is VALID [2022-04-07 14:02:11,501 INFO L290 TraceCheckUtils]: 89: Hoare triple {11892#(<= ~counter~0 9)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {11917#(<= |main_#t~post8| 9)} is VALID [2022-04-07 14:02:11,502 INFO L290 TraceCheckUtils]: 90: Hoare triple {11917#(<= |main_#t~post8| 9)} assume !(#t~post8 < 10);havoc #t~post8; {11636#false} is VALID [2022-04-07 14:02:11,502 INFO L290 TraceCheckUtils]: 91: Hoare triple {11636#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11636#false} is VALID [2022-04-07 14:02:11,502 INFO L290 TraceCheckUtils]: 92: Hoare triple {11636#false} assume !(#t~post6 < 10);havoc #t~post6; {11636#false} is VALID [2022-04-07 14:02:11,502 INFO L272 TraceCheckUtils]: 93: Hoare triple {11636#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)); {11636#false} is VALID [2022-04-07 14:02:11,502 INFO L290 TraceCheckUtils]: 94: Hoare triple {11636#false} ~cond := #in~cond; {11636#false} is VALID [2022-04-07 14:02:11,502 INFO L290 TraceCheckUtils]: 95: Hoare triple {11636#false} assume 0 == ~cond; {11636#false} is VALID [2022-04-07 14:02:11,502 INFO L290 TraceCheckUtils]: 96: Hoare triple {11636#false} assume !false; {11636#false} is VALID [2022-04-07 14:02:11,502 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-07 14:02:11,502 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 14:02:11,941 INFO L290 TraceCheckUtils]: 96: Hoare triple {11636#false} assume !false; {11636#false} is VALID [2022-04-07 14:02:11,941 INFO L290 TraceCheckUtils]: 95: Hoare triple {11636#false} assume 0 == ~cond; {11636#false} is VALID [2022-04-07 14:02:11,941 INFO L290 TraceCheckUtils]: 94: Hoare triple {11636#false} ~cond := #in~cond; {11636#false} is VALID [2022-04-07 14:02:11,941 INFO L272 TraceCheckUtils]: 93: Hoare triple {11636#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)); {11636#false} is VALID [2022-04-07 14:02:11,941 INFO L290 TraceCheckUtils]: 92: Hoare triple {11636#false} assume !(#t~post6 < 10);havoc #t~post6; {11636#false} is VALID [2022-04-07 14:02:11,941 INFO L290 TraceCheckUtils]: 91: Hoare triple {11636#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11636#false} is VALID [2022-04-07 14:02:11,942 INFO L290 TraceCheckUtils]: 90: Hoare triple {11917#(<= |main_#t~post8| 9)} assume !(#t~post8 < 10);havoc #t~post8; {11636#false} is VALID [2022-04-07 14:02:11,942 INFO L290 TraceCheckUtils]: 89: Hoare triple {11892#(<= ~counter~0 9)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {11917#(<= |main_#t~post8| 9)} is VALID [2022-04-07 14:02:11,942 INFO L290 TraceCheckUtils]: 88: Hoare triple {11892#(<= ~counter~0 9)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {11892#(<= ~counter~0 9)} is VALID [2022-04-07 14:02:11,943 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {11635#true} {11892#(<= ~counter~0 9)} #98#return; {11892#(<= ~counter~0 9)} is VALID [2022-04-07 14:02:11,943 INFO L290 TraceCheckUtils]: 86: Hoare triple {11635#true} assume true; {11635#true} is VALID [2022-04-07 14:02:11,943 INFO L290 TraceCheckUtils]: 85: Hoare triple {11635#true} assume !(0 == ~cond); {11635#true} is VALID [2022-04-07 14:02:11,943 INFO L290 TraceCheckUtils]: 84: Hoare triple {11635#true} ~cond := #in~cond; {11635#true} is VALID [2022-04-07 14:02:11,943 INFO L272 TraceCheckUtils]: 83: Hoare triple {11892#(<= ~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)); {11635#true} is VALID [2022-04-07 14:02:11,943 INFO L290 TraceCheckUtils]: 82: Hoare triple {11892#(<= ~counter~0 9)} assume !!(#t~post8 < 10);havoc #t~post8; {11892#(<= ~counter~0 9)} is VALID [2022-04-07 14:02:11,944 INFO L290 TraceCheckUtils]: 81: Hoare triple {11867#(<= ~counter~0 8)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {11892#(<= ~counter~0 9)} is VALID [2022-04-07 14:02:11,944 INFO L290 TraceCheckUtils]: 80: Hoare triple {11867#(<= ~counter~0 8)} assume !(~r~0 > 0); {11867#(<= ~counter~0 8)} is VALID [2022-04-07 14:02:11,945 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {11635#true} {11867#(<= ~counter~0 8)} #96#return; {11867#(<= ~counter~0 8)} is VALID [2022-04-07 14:02:11,945 INFO L290 TraceCheckUtils]: 78: Hoare triple {11635#true} assume true; {11635#true} is VALID [2022-04-07 14:02:11,945 INFO L290 TraceCheckUtils]: 77: Hoare triple {11635#true} assume !(0 == ~cond); {11635#true} is VALID [2022-04-07 14:02:11,945 INFO L290 TraceCheckUtils]: 76: Hoare triple {11635#true} ~cond := #in~cond; {11635#true} is VALID [2022-04-07 14:02:11,945 INFO L272 TraceCheckUtils]: 75: Hoare triple {11867#(<= ~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)); {11635#true} is VALID [2022-04-07 14:02:11,945 INFO L290 TraceCheckUtils]: 74: Hoare triple {11867#(<= ~counter~0 8)} assume !!(#t~post7 < 10);havoc #t~post7; {11867#(<= ~counter~0 8)} is VALID [2022-04-07 14:02:11,945 INFO L290 TraceCheckUtils]: 73: Hoare triple {11842#(<= ~counter~0 7)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11867#(<= ~counter~0 8)} is VALID [2022-04-07 14:02:11,946 INFO L290 TraceCheckUtils]: 72: Hoare triple {11842#(<= ~counter~0 7)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {11842#(<= ~counter~0 7)} is VALID [2022-04-07 14:02:11,946 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {11635#true} {11842#(<= ~counter~0 7)} #96#return; {11842#(<= ~counter~0 7)} is VALID [2022-04-07 14:02:11,946 INFO L290 TraceCheckUtils]: 70: Hoare triple {11635#true} assume true; {11635#true} is VALID [2022-04-07 14:02:11,946 INFO L290 TraceCheckUtils]: 69: Hoare triple {11635#true} assume !(0 == ~cond); {11635#true} is VALID [2022-04-07 14:02:11,946 INFO L290 TraceCheckUtils]: 68: Hoare triple {11635#true} ~cond := #in~cond; {11635#true} is VALID [2022-04-07 14:02:11,946 INFO L272 TraceCheckUtils]: 67: Hoare triple {11842#(<= ~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)); {11635#true} is VALID [2022-04-07 14:02:11,947 INFO L290 TraceCheckUtils]: 66: Hoare triple {11842#(<= ~counter~0 7)} assume !!(#t~post7 < 10);havoc #t~post7; {11842#(<= ~counter~0 7)} is VALID [2022-04-07 14:02:11,947 INFO L290 TraceCheckUtils]: 65: Hoare triple {11817#(<= ~counter~0 6)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11842#(<= ~counter~0 7)} is VALID [2022-04-07 14:02:11,947 INFO L290 TraceCheckUtils]: 64: Hoare triple {11817#(<= ~counter~0 6)} assume !!(~r~0 > 0);~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {11817#(<= ~counter~0 6)} is VALID [2022-04-07 14:02:11,948 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {11635#true} {11817#(<= ~counter~0 6)} #96#return; {11817#(<= ~counter~0 6)} is VALID [2022-04-07 14:02:11,948 INFO L290 TraceCheckUtils]: 62: Hoare triple {11635#true} assume true; {11635#true} is VALID [2022-04-07 14:02:11,948 INFO L290 TraceCheckUtils]: 61: Hoare triple {11635#true} assume !(0 == ~cond); {11635#true} is VALID [2022-04-07 14:02:11,948 INFO L290 TraceCheckUtils]: 60: Hoare triple {11635#true} ~cond := #in~cond; {11635#true} is VALID [2022-04-07 14:02:11,948 INFO L272 TraceCheckUtils]: 59: Hoare triple {11817#(<= ~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)); {11635#true} is VALID [2022-04-07 14:02:11,948 INFO L290 TraceCheckUtils]: 58: Hoare triple {11817#(<= ~counter~0 6)} assume !!(#t~post7 < 10);havoc #t~post7; {11817#(<= ~counter~0 6)} is VALID [2022-04-07 14:02:11,949 INFO L290 TraceCheckUtils]: 57: Hoare triple {11792#(<= ~counter~0 5)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11817#(<= ~counter~0 6)} is VALID [2022-04-07 14:02:11,949 INFO L290 TraceCheckUtils]: 56: Hoare triple {11792#(<= ~counter~0 5)} assume !!(0 != ~r~0); {11792#(<= ~counter~0 5)} is VALID [2022-04-07 14:02:11,949 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11635#true} {11792#(<= ~counter~0 5)} #94#return; {11792#(<= ~counter~0 5)} is VALID [2022-04-07 14:02:11,949 INFO L290 TraceCheckUtils]: 54: Hoare triple {11635#true} assume true; {11635#true} is VALID [2022-04-07 14:02:11,950 INFO L290 TraceCheckUtils]: 53: Hoare triple {11635#true} assume !(0 == ~cond); {11635#true} is VALID [2022-04-07 14:02:11,950 INFO L290 TraceCheckUtils]: 52: Hoare triple {11635#true} ~cond := #in~cond; {11635#true} is VALID [2022-04-07 14:02:11,950 INFO L272 TraceCheckUtils]: 51: Hoare triple {11792#(<= ~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)); {11635#true} is VALID [2022-04-07 14:02:11,950 INFO L290 TraceCheckUtils]: 50: Hoare triple {11792#(<= ~counter~0 5)} assume !!(#t~post6 < 10);havoc #t~post6; {11792#(<= ~counter~0 5)} is VALID [2022-04-07 14:02:11,950 INFO L290 TraceCheckUtils]: 49: Hoare triple {11767#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11792#(<= ~counter~0 5)} is VALID [2022-04-07 14:02:11,951 INFO L290 TraceCheckUtils]: 48: Hoare triple {11767#(<= ~counter~0 4)} assume !(~r~0 < 0); {11767#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:11,951 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11635#true} {11767#(<= ~counter~0 4)} #98#return; {11767#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:11,951 INFO L290 TraceCheckUtils]: 46: Hoare triple {11635#true} assume true; {11635#true} is VALID [2022-04-07 14:02:11,951 INFO L290 TraceCheckUtils]: 45: Hoare triple {11635#true} assume !(0 == ~cond); {11635#true} is VALID [2022-04-07 14:02:11,951 INFO L290 TraceCheckUtils]: 44: Hoare triple {11635#true} ~cond := #in~cond; {11635#true} is VALID [2022-04-07 14:02:11,951 INFO L272 TraceCheckUtils]: 43: Hoare triple {11767#(<= ~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)); {11635#true} is VALID [2022-04-07 14:02:11,952 INFO L290 TraceCheckUtils]: 42: Hoare triple {11767#(<= ~counter~0 4)} assume !!(#t~post8 < 10);havoc #t~post8; {11767#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:11,952 INFO L290 TraceCheckUtils]: 41: Hoare triple {11742#(<= ~counter~0 3)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {11767#(<= ~counter~0 4)} is VALID [2022-04-07 14:02:11,952 INFO L290 TraceCheckUtils]: 40: Hoare triple {11742#(<= ~counter~0 3)} assume !!(~r~0 < 0);~r~0 := ~r~0 + ~u~0;~u~0 := 2 + ~u~0; {11742#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:11,953 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {11635#true} {11742#(<= ~counter~0 3)} #98#return; {11742#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:11,953 INFO L290 TraceCheckUtils]: 38: Hoare triple {11635#true} assume true; {11635#true} is VALID [2022-04-07 14:02:11,953 INFO L290 TraceCheckUtils]: 37: Hoare triple {11635#true} assume !(0 == ~cond); {11635#true} is VALID [2022-04-07 14:02:11,953 INFO L290 TraceCheckUtils]: 36: Hoare triple {11635#true} ~cond := #in~cond; {11635#true} is VALID [2022-04-07 14:02:11,953 INFO L272 TraceCheckUtils]: 35: Hoare triple {11742#(<= ~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)); {11635#true} is VALID [2022-04-07 14:02:11,953 INFO L290 TraceCheckUtils]: 34: Hoare triple {11742#(<= ~counter~0 3)} assume !!(#t~post8 < 10);havoc #t~post8; {11742#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:11,954 INFO L290 TraceCheckUtils]: 33: Hoare triple {11717#(<= ~counter~0 2)} #t~post8 := ~counter~0;~counter~0 := 1 + #t~post8; {11742#(<= ~counter~0 3)} is VALID [2022-04-07 14:02:11,954 INFO L290 TraceCheckUtils]: 32: Hoare triple {11717#(<= ~counter~0 2)} assume !(~r~0 > 0); {11717#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:11,954 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {11635#true} {11717#(<= ~counter~0 2)} #96#return; {11717#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:11,954 INFO L290 TraceCheckUtils]: 30: Hoare triple {11635#true} assume true; {11635#true} is VALID [2022-04-07 14:02:11,954 INFO L290 TraceCheckUtils]: 29: Hoare triple {11635#true} assume !(0 == ~cond); {11635#true} is VALID [2022-04-07 14:02:11,955 INFO L290 TraceCheckUtils]: 28: Hoare triple {11635#true} ~cond := #in~cond; {11635#true} is VALID [2022-04-07 14:02:11,955 INFO L272 TraceCheckUtils]: 27: Hoare triple {11717#(<= ~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)); {11635#true} is VALID [2022-04-07 14:02:11,955 INFO L290 TraceCheckUtils]: 26: Hoare triple {11717#(<= ~counter~0 2)} assume !!(#t~post7 < 10);havoc #t~post7; {11717#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:11,955 INFO L290 TraceCheckUtils]: 25: Hoare triple {11692#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {11717#(<= ~counter~0 2)} is VALID [2022-04-07 14:02:11,956 INFO L290 TraceCheckUtils]: 24: Hoare triple {11692#(<= ~counter~0 1)} assume !!(0 != ~r~0); {11692#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:11,956 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11635#true} {11692#(<= ~counter~0 1)} #94#return; {11692#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:11,956 INFO L290 TraceCheckUtils]: 22: Hoare triple {11635#true} assume true; {11635#true} is VALID [2022-04-07 14:02:11,956 INFO L290 TraceCheckUtils]: 21: Hoare triple {11635#true} assume !(0 == ~cond); {11635#true} is VALID [2022-04-07 14:02:11,956 INFO L290 TraceCheckUtils]: 20: Hoare triple {11635#true} ~cond := #in~cond; {11635#true} is VALID [2022-04-07 14:02:11,956 INFO L272 TraceCheckUtils]: 19: Hoare triple {11692#(<= ~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)); {11635#true} is VALID [2022-04-07 14:02:11,956 INFO L290 TraceCheckUtils]: 18: Hoare triple {11692#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {11692#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:11,957 INFO L290 TraceCheckUtils]: 17: Hoare triple {11643#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11692#(<= ~counter~0 1)} is VALID [2022-04-07 14:02:11,957 INFO L290 TraceCheckUtils]: 16: Hoare triple {11643#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {11643#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:11,958 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11635#true} {11643#(<= ~counter~0 0)} #92#return; {11643#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:11,958 INFO L290 TraceCheckUtils]: 14: Hoare triple {11635#true} assume true; {11635#true} is VALID [2022-04-07 14:02:11,958 INFO L290 TraceCheckUtils]: 13: Hoare triple {11635#true} assume !(0 == ~cond); {11635#true} is VALID [2022-04-07 14:02:11,958 INFO L290 TraceCheckUtils]: 12: Hoare triple {11635#true} ~cond := #in~cond; {11635#true} is VALID [2022-04-07 14:02:11,958 INFO L272 TraceCheckUtils]: 11: Hoare triple {11643#(<= ~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)); {11635#true} is VALID [2022-04-07 14:02:11,958 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11635#true} {11643#(<= ~counter~0 0)} #90#return; {11643#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:11,958 INFO L290 TraceCheckUtils]: 9: Hoare triple {11635#true} assume true; {11635#true} is VALID [2022-04-07 14:02:11,958 INFO L290 TraceCheckUtils]: 8: Hoare triple {11635#true} assume !(0 == ~cond); {11635#true} is VALID [2022-04-07 14:02:11,958 INFO L290 TraceCheckUtils]: 7: Hoare triple {11635#true} ~cond := #in~cond; {11635#true} is VALID [2022-04-07 14:02:11,958 INFO L272 TraceCheckUtils]: 6: Hoare triple {11643#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {11635#true} is VALID [2022-04-07 14:02:11,959 INFO L290 TraceCheckUtils]: 5: Hoare triple {11643#(<= ~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; {11643#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:11,959 INFO L272 TraceCheckUtils]: 4: Hoare triple {11643#(<= ~counter~0 0)} call #t~ret9 := main(); {11643#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:11,959 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11643#(<= ~counter~0 0)} {11635#true} #102#return; {11643#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:11,959 INFO L290 TraceCheckUtils]: 2: Hoare triple {11643#(<= ~counter~0 0)} assume true; {11643#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:11,960 INFO L290 TraceCheckUtils]: 1: Hoare triple {11635#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; {11643#(<= ~counter~0 0)} is VALID [2022-04-07 14:02:11,960 INFO L272 TraceCheckUtils]: 0: Hoare triple {11635#true} call ULTIMATE.init(); {11635#true} is VALID [2022-04-07 14:02:11,960 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-07 14:02:11,960 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 14:02:11,960 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1107382515] [2022-04-07 14:02:11,960 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 14:02:11,961 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1892788407] [2022-04-07 14:02:11,961 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1892788407] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 14:02:11,961 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 14:02:11,961 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 13 [2022-04-07 14:02:11,961 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [326564772] [2022-04-07 14:02:11,961 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 14:02:11,962 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-07 14:02:12,000 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 14:02:12,001 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-07 14:02:12,093 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-07 14:02:12,093 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-07 14:02:12,093 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 14:02:12,094 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-07 14:02:12,094 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=88, Unknown=0, NotChecked=0, Total=156 [2022-04-07 14:02:12,094 INFO L87 Difference]: Start difference. First operand 352 states and 467 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-07 14:02:13,042 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:02:13,042 INFO L93 Difference]: Finished difference Result 461 states and 629 transitions. [2022-04-07 14:02:13,042 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-07 14:02:13,042 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-07 14:02:13,043 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 14:02:13,043 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-07 14:02:13,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 218 transitions. [2022-04-07 14:02:13,046 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-07 14:02:13,048 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 218 transitions. [2022-04-07 14:02:13,048 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 218 transitions. [2022-04-07 14:02:13,240 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-07 14:02:13,249 INFO L225 Difference]: With dead ends: 461 [2022-04-07 14:02:13,250 INFO L226 Difference]: Without dead ends: 350 [2022-04-07 14:02:13,250 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-07 14:02:13,253 INFO L913 BasicCegarLoop]: 57 mSDtfsCounter, 118 mSDsluCounter, 190 mSDsCounter, 0 mSdLazyCounter, 109 mSolverCounterSat, 88 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 118 SdHoareTripleChecker+Valid, 247 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 88 IncrementalHoareTripleChecker+Valid, 109 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-07 14:02:13,253 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [118 Valid, 247 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [88 Valid, 109 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-07 14:02:13,254 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 350 states. [2022-04-07 14:02:13,455 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 350 to 350. [2022-04-07 14:02:13,455 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 14:02:13,456 INFO L82 GeneralOperation]: Start isEquivalent. First operand 350 states. Second operand has 350 states, 264 states have (on average 1.196969696969697) internal successors, (316), 264 states have internal predecessors, (316), 72 states have call successors, (72), 15 states have call predecessors, (72), 13 states have return successors, (70), 70 states have call predecessors, (70), 70 states have call successors, (70) [2022-04-07 14:02:13,456 INFO L74 IsIncluded]: Start isIncluded. First operand 350 states. Second operand has 350 states, 264 states have (on average 1.196969696969697) internal successors, (316), 264 states have internal predecessors, (316), 72 states have call successors, (72), 15 states have call predecessors, (72), 13 states have return successors, (70), 70 states have call predecessors, (70), 70 states have call successors, (70) [2022-04-07 14:02:13,457 INFO L87 Difference]: Start difference. First operand 350 states. Second operand has 350 states, 264 states have (on average 1.196969696969697) internal successors, (316), 264 states have internal predecessors, (316), 72 states have call successors, (72), 15 states have call predecessors, (72), 13 states have return successors, (70), 70 states have call predecessors, (70), 70 states have call successors, (70) [2022-04-07 14:02:13,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:02:13,467 INFO L93 Difference]: Finished difference Result 350 states and 458 transitions. [2022-04-07 14:02:13,467 INFO L276 IsEmpty]: Start isEmpty. Operand 350 states and 458 transitions. [2022-04-07 14:02:13,468 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:02:13,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:02:13,469 INFO L74 IsIncluded]: Start isIncluded. First operand has 350 states, 264 states have (on average 1.196969696969697) internal successors, (316), 264 states have internal predecessors, (316), 72 states have call successors, (72), 15 states have call predecessors, (72), 13 states have return successors, (70), 70 states have call predecessors, (70), 70 states have call successors, (70) Second operand 350 states. [2022-04-07 14:02:13,469 INFO L87 Difference]: Start difference. First operand has 350 states, 264 states have (on average 1.196969696969697) internal successors, (316), 264 states have internal predecessors, (316), 72 states have call successors, (72), 15 states have call predecessors, (72), 13 states have return successors, (70), 70 states have call predecessors, (70), 70 states have call successors, (70) Second operand 350 states. [2022-04-07 14:02:13,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 14:02:13,480 INFO L93 Difference]: Finished difference Result 350 states and 458 transitions. [2022-04-07 14:02:13,480 INFO L276 IsEmpty]: Start isEmpty. Operand 350 states and 458 transitions. [2022-04-07 14:02:13,481 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 14:02:13,481 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 14:02:13,481 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 14:02:13,481 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 14:02:13,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 350 states, 264 states have (on average 1.196969696969697) internal successors, (316), 264 states have internal predecessors, (316), 72 states have call successors, (72), 15 states have call predecessors, (72), 13 states have return successors, (70), 70 states have call predecessors, (70), 70 states have call successors, (70) [2022-04-07 14:02:13,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 350 states to 350 states and 458 transitions. [2022-04-07 14:02:13,493 INFO L78 Accepts]: Start accepts. Automaton has 350 states and 458 transitions. Word has length 97 [2022-04-07 14:02:13,494 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 14:02:13,494 INFO L478 AbstractCegarLoop]: Abstraction has 350 states and 458 transitions. [2022-04-07 14:02:13,494 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-07 14:02:13,494 INFO L276 IsEmpty]: Start isEmpty. Operand 350 states and 458 transitions. [2022-04-07 14:02:13,495 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 104 [2022-04-07 14:02:13,496 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 14:02:13,496 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-07 14:02:13,527 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-07 14:02:13,720 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-07 14:02:13,721 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 14:02:13,721 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 14:02:13,721 INFO L85 PathProgramCache]: Analyzing trace with hash -1761003221, now seen corresponding path program 1 times [2022-04-07 14:02:13,721 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 14:02:13,721 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1961100363] [2022-04-07 14:02:13,721 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:02:13,721 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 14:02:13,734 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 14:02:13,734 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1700487965] [2022-04-07 14:02:13,734 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 14:02:13,735 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 14:02:13,735 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 14:02:13,735 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-07 14:02:13,740 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-07 14:02:13,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-07 14:02:13,894 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-04-07 14:02:13,916 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-07 14:02:13,958 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-04-07 14:02:13,958 INFO L618 BasicCegarLoop]: Counterexample is feasible [2022-04-07 14:02:13,959 INFO L788 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-07 14:02:13,991 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-07 14:02:14,179 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-07 14:02:14,182 INFO L719 BasicCegarLoop]: Path program histogram: [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 14:02:14,185 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2022-04-07 14:02:14,237 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-07 14:02:14,237 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2022-04-07 14:02:14,237 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-07 14:02:14,237 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-07 14:02:14,237 WARN L170 areAnnotationChecker]: assume_abort_if_notENTRY has no Hoare annotation [2022-04-07 14:02:14,237 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2022-04-07 14:02:14,237 WARN L170 areAnnotationChecker]: __VERIFIER_assertENTRY has no Hoare annotation [2022-04-07 14:02:14,237 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-07 14:02:14,237 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-07 14:02:14,237 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-07 14:02:14,237 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-07 14:02:14,237 WARN L170 areAnnotationChecker]: L9 has no Hoare annotation [2022-04-07 14:02:14,237 WARN L170 areAnnotationChecker]: L9 has no Hoare annotation [2022-04-07 14:02:14,237 WARN L170 areAnnotationChecker]: L25 has no Hoare annotation [2022-04-07 14:02:14,237 WARN L170 areAnnotationChecker]: L25 has no Hoare annotation [2022-04-07 14:02:14,238 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-07 14:02:14,238 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-07 14:02:14,238 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-07 14:02:14,238 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-07 14:02:14,238 WARN L170 areAnnotationChecker]: L9-2 has no Hoare annotation [2022-04-07 14:02:14,238 WARN L170 areAnnotationChecker]: L25-1 has no Hoare annotation [2022-04-07 14:02:14,238 WARN L170 areAnnotationChecker]: L25-1 has no Hoare annotation [2022-04-07 14:02:14,238 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2022-04-07 14:02:14,238 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2022-04-07 14:02:14,238 WARN L170 areAnnotationChecker]: L12-2 has no Hoare annotation [2022-04-07 14:02:14,238 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-07 14:02:14,238 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-07 14:02:14,238 WARN L170 areAnnotationChecker]: L27 has no Hoare annotation [2022-04-07 14:02:14,238 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-07 14:02:14,238 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-07 14:02:14,238 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-07 14:02:14,238 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-07 14:02:14,238 WARN L170 areAnnotationChecker]: L47-3 has no Hoare annotation [2022-04-07 14:02:14,238 WARN L170 areAnnotationChecker]: L47-3 has no Hoare annotation [2022-04-07 14:02:14,238 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-07 14:02:14,238 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-07 14:02:14,238 WARN L170 areAnnotationChecker]: L40-1 has no Hoare annotation [2022-04-07 14:02:14,238 WARN L170 areAnnotationChecker]: L40-1 has no Hoare annotation [2022-04-07 14:02:14,239 WARN L170 areAnnotationChecker]: L48-1 has no Hoare annotation [2022-04-07 14:02:14,239 WARN L170 areAnnotationChecker]: L48-1 has no Hoare annotation [2022-04-07 14:02:14,239 WARN L170 areAnnotationChecker]: L56 has no Hoare annotation [2022-04-07 14:02:14,239 WARN L170 areAnnotationChecker]: L34-3 has no Hoare annotation [2022-04-07 14:02:14,239 WARN L170 areAnnotationChecker]: L34-3 has no Hoare annotation [2022-04-07 14:02:14,239 WARN L170 areAnnotationChecker]: L34-1 has no Hoare annotation [2022-04-07 14:02:14,239 WARN L170 areAnnotationChecker]: L34-1 has no Hoare annotation [2022-04-07 14:02:14,239 WARN L170 areAnnotationChecker]: L39-3 has no Hoare annotation [2022-04-07 14:02:14,239 WARN L170 areAnnotationChecker]: L39-3 has no Hoare annotation [2022-04-07 14:02:14,239 WARN L170 areAnnotationChecker]: L47-2 has no Hoare annotation [2022-04-07 14:02:14,239 WARN L170 areAnnotationChecker]: L47-2 has no Hoare annotation [2022-04-07 14:02:14,239 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-07 14:02:14,239 WARN L170 areAnnotationChecker]: L35 has no Hoare annotation [2022-04-07 14:02:14,239 WARN L170 areAnnotationChecker]: L35 has no Hoare annotation [2022-04-07 14:02:14,239 WARN L170 areAnnotationChecker]: L39-1 has no Hoare annotation [2022-04-07 14:02:14,239 WARN L170 areAnnotationChecker]: L39-1 has no Hoare annotation [2022-04-07 14:02:14,239 WARN L170 areAnnotationChecker]: L47 has no Hoare annotation [2022-04-07 14:02:14,239 WARN L170 areAnnotationChecker]: L47 has no Hoare annotation [2022-04-07 14:02:14,239 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-07 14:02:14,239 WARN L170 areAnnotationChecker]: L40 has no Hoare annotation [2022-04-07 14:02:14,239 WARN L170 areAnnotationChecker]: L40 has no Hoare annotation [2022-04-07 14:02:14,239 WARN L170 areAnnotationChecker]: L48 has no Hoare annotation [2022-04-07 14:02:14,240 WARN L170 areAnnotationChecker]: L48 has no Hoare annotation [2022-04-07 14:02:14,240 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-07 14:02:14,240 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 07.04 02:02:14 BoogieIcfgContainer [2022-04-07 14:02:14,240 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-07 14:02:14,241 INFO L158 Benchmark]: Toolchain (without parser) took 46397.56ms. Allocated memory was 187.7MB in the beginning and 225.4MB in the end (delta: 37.7MB). Free memory was 135.5MB in the beginning and 84.0MB in the end (delta: 51.5MB). Peak memory consumption was 89.0MB. Max. memory is 8.0GB. [2022-04-07 14:02:14,241 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 187.7MB. Free memory was 152.1MB in the beginning and 152.0MB in the end (delta: 73.9kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-07 14:02:14,242 INFO L158 Benchmark]: CACSL2BoogieTranslator took 232.99ms. Allocated memory was 187.7MB in the beginning and 225.4MB in the end (delta: 37.7MB). Free memory was 135.4MB in the beginning and 201.0MB in the end (delta: -65.6MB). Peak memory consumption was 11.7MB. Max. memory is 8.0GB. [2022-04-07 14:02:14,242 INFO L158 Benchmark]: Boogie Preprocessor took 27.56ms. Allocated memory is still 225.4MB. Free memory was 201.0MB in the beginning and 199.6MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-07 14:02:14,242 INFO L158 Benchmark]: RCFGBuilder took 287.53ms. Allocated memory is still 225.4MB. Free memory was 199.6MB in the beginning and 186.6MB in the end (delta: 12.9MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. [2022-04-07 14:02:14,242 INFO L158 Benchmark]: TraceAbstraction took 45843.62ms. Allocated memory is still 225.4MB. Free memory was 186.3MB in the beginning and 84.0MB in the end (delta: 102.3MB). Peak memory consumption was 103.5MB. Max. memory is 8.0GB. [2022-04-07 14:02:14,243 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.11ms. Allocated memory is still 187.7MB. Free memory was 152.1MB in the beginning and 152.0MB in the end (delta: 73.9kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 232.99ms. Allocated memory was 187.7MB in the beginning and 225.4MB in the end (delta: 37.7MB). Free memory was 135.4MB in the beginning and 201.0MB in the end (delta: -65.6MB). Peak memory consumption was 11.7MB. Max. memory is 8.0GB. * Boogie Preprocessor took 27.56ms. Allocated memory is still 225.4MB. Free memory was 201.0MB in the beginning and 199.6MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 287.53ms. Allocated memory is still 225.4MB. Free memory was 199.6MB in the beginning and 186.6MB in the end (delta: 12.9MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. * TraceAbstraction took 45843.62ms. Allocated memory is still 225.4MB. Free memory was 186.3MB in the beginning and 84.0MB in the end (delta: 102.3MB). Peak memory consumption was 103.5MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - CounterExampleResult [Line: 14]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L19] int counter = 0; VAL [\old(counter)=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=2, r=-3, u=5, v=1] [L34] EXPR counter++ VAL [\old(counter)=0, A=7, counter=1, counter++=0, r=-3, R=2, 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=2, r=-3, 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=2, r=-3, u=5, v=1] [L41] COND TRUE !(r > 0) VAL [\old(counter)=0, A=7, counter=2, R=2, r=-3, 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=1, R=2, 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=1, R=2, 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=2, r=5, u=9, v=5] [L47] EXPR counter++ VAL [\old(counter)=0, A=7, counter=10, counter++=9, R=2, r=5, 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=5, R=2, u=9, v=5] [L49] COND TRUE !(r < 0) VAL [\old(counter)=0, A=7, counter=10, R=2, r=5, u=9, v=5] [L34] EXPR counter++ VAL [\old(counter)=0, A=7, counter=11, counter++=10, R=2, r=5, 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: 45.7s, OverallIterations: 14, TraceHistogramMax: 11, PathProgramHistogramMax: 2, EmptinessCheckTime: 0.0s, AutomataDifference: 24.8s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 2 mSolverCounterUnknown, 832 SdHoareTripleChecker+Valid, 8.5s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 821 mSDsluCounter, 2130 SdHoareTripleChecker+Invalid, 8.5s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1517 mSDsCounter, 440 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 773 IncrementalHoareTripleChecker+Invalid, 1215 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 440 mSolverCounterUnsat, 613 mSDtfsCounter, 773 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1164 GetRequests, 1044 SyntacticMatches, 4 SemanticMatches, 116 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 174 ImplicationChecksByTransitivity, 0.6s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=352occurred 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.2s AutomataMinimizationTime, 13 MinimizatonAttempts, 74 StatesRemovedByMinimization, 8 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.5s SatisfiabilityAnalysisTime, 10.6s 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-07 14:02:14,260 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...