/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/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/fermat2-ll_unwindbound10.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 12:40:25,698 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 12:40:25,700 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 12:40:25,749 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 12:40:25,749 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 12:40:25,751 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 12:40:25,753 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 12:40:25,755 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 12:40:25,756 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 12:40:25,760 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 12:40:25,763 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 12:40:25,764 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 12:40:25,764 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 12:40:25,766 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 12:40:25,767 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 12:40:25,769 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 12:40:25,770 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 12:40:25,771 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 12:40:25,773 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 12:40:25,777 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 12:40:25,779 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 12:40:25,780 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 12:40:25,781 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 12:40:25,781 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 12:40:25,782 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 12:40:25,789 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 12:40:25,789 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 12:40:25,789 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 12:40:25,790 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 12:40:25,790 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 12:40:25,791 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 12:40:25,791 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 12:40:25,793 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 12:40:25,793 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 12:40:25,794 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 12:40:25,795 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 12:40:25,795 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 12:40:25,795 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 12:40:25,796 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 12:40:25,796 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 12:40:25,797 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 12:40:25,798 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 12:40:25,798 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 12:40:25,808 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 12:40:25,808 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 12:40:25,809 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 12:40:25,809 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 12:40:25,809 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 12:40:25,810 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 12:40:25,810 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 12:40:25,810 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 12:40:25,810 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 12:40:25,811 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 12:40:25,811 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 12:40:25,811 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 12:40:25,811 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 12:40:25,811 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 12:40:25,811 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 12:40:25,812 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:40:25,812 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 12:40:25,812 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 12:40:25,812 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 12:40:25,812 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 12:40:25,812 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 12:40:25,812 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 12:40:25,812 INFO L138 SettingsManager]: * Use separate solver for trace checks=false 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-28 12:40:26,014 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 12:40:26,033 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 12:40:26,035 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 12:40:26,036 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 12:40:26,037 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 12:40:26,038 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/fermat2-ll_unwindbound10.c [2022-04-28 12:40:26,084 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/475f3dbcc/40f16364df2b471bbcc686feaedb9a3d/FLAG76ffbae81 [2022-04-28 12:40:26,398 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 12:40:26,399 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/fermat2-ll_unwindbound10.c [2022-04-28 12:40:26,403 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/475f3dbcc/40f16364df2b471bbcc686feaedb9a3d/FLAG76ffbae81 [2022-04-28 12:40:26,825 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/475f3dbcc/40f16364df2b471bbcc686feaedb9a3d [2022-04-28 12:40:26,827 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 12:40:26,828 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 12:40:26,832 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 12:40:26,832 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 12:40:26,834 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 12:40:26,836 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:40:26" (1/1) ... [2022-04-28 12:40:26,837 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@349a79e6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:40:26, skipping insertion in model container [2022-04-28 12:40:26,837 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:40:26" (1/1) ... [2022-04-28 12:40:26,842 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 12:40:26,856 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 12:40:26,977 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/fermat2-ll_unwindbound10.c[524,537] [2022-04-28 12:40:27,004 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:40:27,011 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 12:40:27,032 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/fermat2-ll_unwindbound10.c[524,537] [2022-04-28 12:40:27,038 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:40:27,048 INFO L208 MainTranslator]: Completed translation [2022-04-28 12:40:27,049 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:40:27 WrapperNode [2022-04-28 12:40:27,049 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 12:40:27,050 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 12:40:27,050 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 12:40:27,050 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 12:40:27,060 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:40:27" (1/1) ... [2022-04-28 12:40:27,060 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:40:27" (1/1) ... [2022-04-28 12:40:27,066 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:40:27" (1/1) ... [2022-04-28 12:40:27,066 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:40:27" (1/1) ... [2022-04-28 12:40:27,082 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:40:27" (1/1) ... [2022-04-28 12:40:27,088 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:40:27" (1/1) ... [2022-04-28 12:40:27,094 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:40:27" (1/1) ... [2022-04-28 12:40:27,100 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 12:40:27,101 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 12:40:27,101 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 12:40:27,101 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 12:40:27,102 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:40:27" (1/1) ... [2022-04-28 12:40:27,111 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:40:27,121 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:40:27,135 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-28 12:40:27,140 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-28 12:40:27,166 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 12:40:27,166 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 12:40:27,166 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 12:40:27,166 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 12:40:27,166 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 12:40:27,166 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 12:40:27,166 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 12:40:27,166 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 12:40:27,167 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 12:40:27,167 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 12:40:27,167 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 12:40:27,167 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 12:40:27,167 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 12:40:27,167 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 12:40:27,167 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 12:40:27,167 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 12:40:27,167 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 12:40:27,167 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 12:40:27,168 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 12:40:27,168 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 12:40:27,209 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 12:40:27,210 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 12:40:27,346 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 12:40:27,351 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 12:40:27,351 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 12:40:27,353 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:40:27 BoogieIcfgContainer [2022-04-28 12:40:27,353 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 12:40:27,354 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 12:40:27,354 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 12:40:27,356 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 12:40:27,356 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 12:40:26" (1/3) ... [2022-04-28 12:40:27,357 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5a48ea09 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:40:27, skipping insertion in model container [2022-04-28 12:40:27,357 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:40:27" (2/3) ... [2022-04-28 12:40:27,357 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5a48ea09 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:40:27, skipping insertion in model container [2022-04-28 12:40:27,357 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:40:27" (3/3) ... [2022-04-28 12:40:27,358 INFO L111 eAbstractionObserver]: Analyzing ICFG fermat2-ll_unwindbound10.c [2022-04-28 12:40:27,369 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 12:40:27,369 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 12:40:27,403 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 12:40:27,410 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@144b0156, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@3510c8bc [2022-04-28 12:40:27,411 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 12:40:27,418 INFO L276 IsEmpty]: Start isEmpty. Operand has 30 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 12:40:27,425 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-28 12:40:27,425 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:40:27,426 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:40:27,426 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:40:27,430 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:40:27,431 INFO L85 PathProgramCache]: Analyzing trace with hash -1859024204, now seen corresponding path program 1 times [2022-04-28 12:40:27,437 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:27,437 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [373686712] [2022-04-28 12:40:27,446 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:40:27,447 INFO L85 PathProgramCache]: Analyzing trace with hash -1859024204, now seen corresponding path program 2 times [2022-04-28 12:40:27,449 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:40:27,450 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [121119686] [2022-04-28 12:40:27,450 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:40:27,451 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:40:27,533 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:40:27,534 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [287716421] [2022-04-28 12:40:27,534 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:40:27,534 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:40:27,535 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:40:27,540 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-28 12:40:27,562 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-28 12:40:27,649 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:40:27,649 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:40:27,651 INFO L263 TraceCheckSpWp]: Trace formula consists of 80 conjuncts, 1 conjunts are in the unsatisfiable core [2022-04-28 12:40:27,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:40:27,668 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:40:27,770 INFO L272 TraceCheckUtils]: 0: Hoare triple {33#true} call ULTIMATE.init(); {33#true} is VALID [2022-04-28 12:40:27,771 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#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; {33#true} is VALID [2022-04-28 12:40:27,771 INFO L290 TraceCheckUtils]: 2: Hoare triple {33#true} assume true; {33#true} is VALID [2022-04-28 12:40:27,771 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33#true} {33#true} #67#return; {33#true} is VALID [2022-04-28 12:40:27,772 INFO L272 TraceCheckUtils]: 4: Hoare triple {33#true} call #t~ret7 := main(); {33#true} is VALID [2022-04-28 12:40:27,772 INFO L290 TraceCheckUtils]: 5: Hoare triple {33#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; {33#true} is VALID [2022-04-28 12:40:27,773 INFO L272 TraceCheckUtils]: 6: Hoare triple {33#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {33#true} is VALID [2022-04-28 12:40:27,773 INFO L290 TraceCheckUtils]: 7: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-04-28 12:40:27,773 INFO L290 TraceCheckUtils]: 8: Hoare triple {33#true} assume 0 == ~cond;assume false; {33#true} is VALID [2022-04-28 12:40:27,773 INFO L290 TraceCheckUtils]: 9: Hoare triple {33#true} assume true; {33#true} is VALID [2022-04-28 12:40:27,774 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {33#true} {33#true} #59#return; {33#true} is VALID [2022-04-28 12:40:27,775 INFO L272 TraceCheckUtils]: 11: Hoare triple {33#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)); {33#true} is VALID [2022-04-28 12:40:27,775 INFO L290 TraceCheckUtils]: 12: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-04-28 12:40:27,776 INFO L290 TraceCheckUtils]: 13: Hoare triple {33#true} assume 0 == ~cond;assume false; {34#false} is VALID [2022-04-28 12:40:27,776 INFO L290 TraceCheckUtils]: 14: Hoare triple {34#false} assume true; {34#false} is VALID [2022-04-28 12:40:27,776 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {34#false} {33#true} #61#return; {34#false} is VALID [2022-04-28 12:40:27,776 INFO L290 TraceCheckUtils]: 16: Hoare triple {34#false} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {34#false} is VALID [2022-04-28 12:40:27,777 INFO L290 TraceCheckUtils]: 17: Hoare triple {34#false} assume !true; {34#false} is VALID [2022-04-28 12:40:27,777 INFO L272 TraceCheckUtils]: 18: Hoare triple {34#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)); {34#false} is VALID [2022-04-28 12:40:27,777 INFO L290 TraceCheckUtils]: 19: Hoare triple {34#false} ~cond := #in~cond; {34#false} is VALID [2022-04-28 12:40:27,777 INFO L290 TraceCheckUtils]: 20: Hoare triple {34#false} assume 0 == ~cond; {34#false} is VALID [2022-04-28 12:40:27,778 INFO L290 TraceCheckUtils]: 21: Hoare triple {34#false} assume !false; {34#false} is VALID [2022-04-28 12:40:27,779 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-28 12:40:27,779 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:40:27,779 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:40:27,779 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [121119686] [2022-04-28 12:40:27,779 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:40:27,779 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [287716421] [2022-04-28 12:40:27,780 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [287716421] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:40:27,780 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:40:27,780 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-04-28 12:40:27,784 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:40:27,784 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [373686712] [2022-04-28 12:40:27,785 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [373686712] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:40:27,785 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:40:27,785 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-04-28 12:40:27,786 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1378834329] [2022-04-28 12:40:27,786 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:40:27,792 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), 1 states have call successors, (3) Word has length 22 [2022-04-28 12:40:27,793 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:40:27,796 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), 1 states have call successors, (3) [2022-04-28 12:40:27,827 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-28 12:40:27,827 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-04-28 12:40:27,827 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:27,862 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-04-28 12:40:27,862 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-04-28 12:40:27,865 INFO L87 Difference]: Start difference. First operand has 30 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) 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), 1 states have call successors, (3) [2022-04-28 12:40:27,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:27,939 INFO L93 Difference]: Finished difference Result 53 states and 70 transitions. [2022-04-28 12:40:27,939 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-04-28 12:40:27,939 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), 1 states have call successors, (3) Word has length 22 [2022-04-28 12:40:27,940 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:40:27,941 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), 1 states have call successors, (3) [2022-04-28 12:40:27,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 70 transitions. [2022-04-28 12:40:27,953 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), 1 states have call successors, (3) [2022-04-28 12:40:27,956 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 70 transitions. [2022-04-28 12:40:27,956 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 2 states and 70 transitions. [2022-04-28 12:40:28,038 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:28,055 INFO L225 Difference]: With dead ends: 53 [2022-04-28 12:40:28,055 INFO L226 Difference]: Without dead ends: 25 [2022-04-28 12:40:28,058 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-04-28 12:40:28,060 INFO L413 NwaCegarLoop]: 34 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, 34 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-28 12:40:28,061 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:40:28,074 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25 states. [2022-04-28 12:40:28,084 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25 to 25. [2022-04-28 12:40:28,084 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:40:28,085 INFO L82 GeneralOperation]: Start isEquivalent. First operand 25 states. Second operand has 25 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 12:40:28,086 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand has 25 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 12:40:28,086 INFO L87 Difference]: Start difference. First operand 25 states. Second operand has 25 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 12:40:28,093 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:28,094 INFO L93 Difference]: Finished difference Result 25 states and 29 transitions. [2022-04-28 12:40:28,095 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 29 transitions. [2022-04-28 12:40:28,096 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:28,098 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:28,099 INFO L74 IsIncluded]: Start isIncluded. First operand has 25 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 25 states. [2022-04-28 12:40:28,101 INFO L87 Difference]: Start difference. First operand has 25 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 25 states. [2022-04-28 12:40:28,103 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:28,104 INFO L93 Difference]: Finished difference Result 25 states and 29 transitions. [2022-04-28 12:40:28,104 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 29 transitions. [2022-04-28 12:40:28,104 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:28,104 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:28,104 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:40:28,104 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:40:28,105 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 12:40:28,106 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 29 transitions. [2022-04-28 12:40:28,108 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 29 transitions. Word has length 22 [2022-04-28 12:40:28,108 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:40:28,111 INFO L495 AbstractCegarLoop]: Abstraction has 25 states and 29 transitions. [2022-04-28 12:40:28,114 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 12:40:28,114 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 29 transitions. [2022-04-28 12:40:28,140 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:28,141 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 29 transitions. [2022-04-28 12:40:28,142 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 12:40:28,142 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:40:28,142 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:40:28,168 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 12:40:28,358 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable0 [2022-04-28 12:40:28,359 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:40:28,363 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:40:28,363 INFO L85 PathProgramCache]: Analyzing trace with hash 243739414, now seen corresponding path program 1 times [2022-04-28 12:40:28,363 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:28,364 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [162904698] [2022-04-28 12:40:28,364 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:40:28,365 INFO L85 PathProgramCache]: Analyzing trace with hash 243739414, now seen corresponding path program 2 times [2022-04-28 12:40:28,365 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:40:28,365 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [435508209] [2022-04-28 12:40:28,365 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:40:28,365 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:40:28,382 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:40:28,382 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [524756213] [2022-04-28 12:40:28,382 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:40:28,382 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:40:28,382 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:40:28,383 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-28 12:40:28,417 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-28 12:40:28,456 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:40:28,456 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:40:28,457 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 12:40:28,466 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:40:28,467 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:40:28,648 INFO L272 TraceCheckUtils]: 0: Hoare triple {306#true} call ULTIMATE.init(); {306#true} is VALID [2022-04-28 12:40:28,650 INFO L290 TraceCheckUtils]: 1: Hoare triple {306#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; {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:28,650 INFO L290 TraceCheckUtils]: 2: Hoare triple {314#(<= ~counter~0 0)} assume true; {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:28,651 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {314#(<= ~counter~0 0)} {306#true} #67#return; {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:28,651 INFO L272 TraceCheckUtils]: 4: Hoare triple {314#(<= ~counter~0 0)} call #t~ret7 := main(); {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:28,652 INFO L290 TraceCheckUtils]: 5: Hoare triple {314#(<= ~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; {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:28,653 INFO L272 TraceCheckUtils]: 6: Hoare triple {314#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:28,653 INFO L290 TraceCheckUtils]: 7: Hoare triple {314#(<= ~counter~0 0)} ~cond := #in~cond; {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:28,654 INFO L290 TraceCheckUtils]: 8: Hoare triple {314#(<= ~counter~0 0)} assume !(0 == ~cond); {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:28,654 INFO L290 TraceCheckUtils]: 9: Hoare triple {314#(<= ~counter~0 0)} assume true; {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:28,655 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {314#(<= ~counter~0 0)} {314#(<= ~counter~0 0)} #59#return; {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:28,655 INFO L272 TraceCheckUtils]: 11: Hoare triple {314#(<= ~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)); {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:28,656 INFO L290 TraceCheckUtils]: 12: Hoare triple {314#(<= ~counter~0 0)} ~cond := #in~cond; {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:28,656 INFO L290 TraceCheckUtils]: 13: Hoare triple {314#(<= ~counter~0 0)} assume !(0 == ~cond); {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:28,657 INFO L290 TraceCheckUtils]: 14: Hoare triple {314#(<= ~counter~0 0)} assume true; {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:28,657 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {314#(<= ~counter~0 0)} {314#(<= ~counter~0 0)} #61#return; {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:28,658 INFO L290 TraceCheckUtils]: 16: Hoare triple {314#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {314#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:28,658 INFO L290 TraceCheckUtils]: 17: Hoare triple {314#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {363#(<= |main_#t~post6| 0)} is VALID [2022-04-28 12:40:28,659 INFO L290 TraceCheckUtils]: 18: Hoare triple {363#(<= |main_#t~post6| 0)} assume !(#t~post6 < 10);havoc #t~post6; {307#false} is VALID [2022-04-28 12:40:28,659 INFO L272 TraceCheckUtils]: 19: Hoare triple {307#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)); {307#false} is VALID [2022-04-28 12:40:28,659 INFO L290 TraceCheckUtils]: 20: Hoare triple {307#false} ~cond := #in~cond; {307#false} is VALID [2022-04-28 12:40:28,660 INFO L290 TraceCheckUtils]: 21: Hoare triple {307#false} assume 0 == ~cond; {307#false} is VALID [2022-04-28 12:40:28,660 INFO L290 TraceCheckUtils]: 22: Hoare triple {307#false} assume !false; {307#false} is VALID [2022-04-28 12:40:28,660 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-28 12:40:28,660 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:40:28,660 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:40:28,661 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [435508209] [2022-04-28 12:40:28,661 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:40:28,661 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [524756213] [2022-04-28 12:40:28,661 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [524756213] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:40:28,661 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:40:28,661 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 12:40:28,662 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:40:28,662 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [162904698] [2022-04-28 12:40:28,662 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [162904698] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:40:28,662 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:40:28,662 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 12:40:28,662 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1757124691] [2022-04-28 12:40:28,662 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:40:28,663 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-28 12:40:28,664 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:40:28,664 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-28 12:40:28,681 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-28 12:40:28,681 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 12:40:28,681 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:28,682 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 12:40:28,682 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 12:40:28,682 INFO L87 Difference]: Start difference. First operand 25 states and 29 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-28 12:40:28,749 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:28,749 INFO L93 Difference]: Finished difference Result 34 states and 38 transitions. [2022-04-28 12:40:28,749 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 12:40:28,749 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-28 12:40:28,750 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:40:28,750 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-28 12:40:28,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 38 transitions. [2022-04-28 12:40:28,754 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-28 12:40:28,763 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 38 transitions. [2022-04-28 12:40:28,763 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 38 transitions. [2022-04-28 12:40:28,803 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-28 12:40:28,804 INFO L225 Difference]: With dead ends: 34 [2022-04-28 12:40:28,805 INFO L226 Difference]: Without dead ends: 27 [2022-04-28 12:40:28,805 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 12:40:28,806 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 0 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 67 SdHoareTripleChecker+Invalid, 7 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:40:28,806 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 67 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:40:28,807 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-28 12:40:28,819 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-28 12:40:28,819 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:40:28,820 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 12:40:28,820 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 12:40:28,820 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 12:40:28,822 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:28,822 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-28 12:40:28,822 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 12:40:28,823 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:28,823 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:28,823 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 27 states. [2022-04-28 12:40:28,824 INFO L87 Difference]: Start difference. First operand has 27 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 27 states. [2022-04-28 12:40:28,825 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:28,825 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-28 12:40:28,825 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 12:40:28,826 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:28,826 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:28,826 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:40:28,826 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:40:28,826 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 12:40:28,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2022-04-28 12:40:28,828 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 23 [2022-04-28 12:40:28,828 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:40:28,828 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2022-04-28 12:40:28,828 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 12:40:28,829 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 31 transitions. [2022-04-28 12:40:28,853 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:28,853 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 12:40:28,854 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-28 12:40:28,854 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:40:28,854 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:40:28,877 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-28 12:40:29,068 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable1 [2022-04-28 12:40:29,069 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:40:29,070 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:40:29,070 INFO L85 PathProgramCache]: Analyzing trace with hash 245526874, now seen corresponding path program 1 times [2022-04-28 12:40:29,070 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:29,070 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [999409656] [2022-04-28 12:40:29,070 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:40:29,070 INFO L85 PathProgramCache]: Analyzing trace with hash 245526874, now seen corresponding path program 2 times [2022-04-28 12:40:29,071 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:40:29,071 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2063603538] [2022-04-28 12:40:29,071 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:40:29,071 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:40:29,086 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:40:29,086 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [866408937] [2022-04-28 12:40:29,086 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:40:29,086 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:40:29,086 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:40:29,093 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-28 12:40:29,130 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-28 12:40:29,146 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:40:29,147 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:40:29,147 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:40:29,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:40:29,158 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:40:29,543 INFO L272 TraceCheckUtils]: 0: Hoare triple {554#true} call ULTIMATE.init(); {554#true} is VALID [2022-04-28 12:40:29,544 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-28 12:40:29,544 INFO L290 TraceCheckUtils]: 2: Hoare triple {554#true} assume true; {554#true} is VALID [2022-04-28 12:40:29,544 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {554#true} {554#true} #67#return; {554#true} is VALID [2022-04-28 12:40:29,544 INFO L272 TraceCheckUtils]: 4: Hoare triple {554#true} call #t~ret7 := main(); {554#true} is VALID [2022-04-28 12:40:29,544 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-28 12:40:29,545 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-28 12:40:29,545 INFO L290 TraceCheckUtils]: 7: Hoare triple {554#true} ~cond := #in~cond; {554#true} is VALID [2022-04-28 12:40:29,545 INFO L290 TraceCheckUtils]: 8: Hoare triple {554#true} assume !(0 == ~cond); {554#true} is VALID [2022-04-28 12:40:29,545 INFO L290 TraceCheckUtils]: 9: Hoare triple {554#true} assume true; {554#true} is VALID [2022-04-28 12:40:29,545 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {554#true} {554#true} #59#return; {554#true} is VALID [2022-04-28 12:40:29,545 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-28 12:40:29,546 INFO L290 TraceCheckUtils]: 12: Hoare triple {554#true} ~cond := #in~cond; {554#true} is VALID [2022-04-28 12:40:29,546 INFO L290 TraceCheckUtils]: 13: Hoare triple {554#true} assume !(0 == ~cond); {554#true} is VALID [2022-04-28 12:40:29,546 INFO L290 TraceCheckUtils]: 14: Hoare triple {554#true} assume true; {554#true} is VALID [2022-04-28 12:40:29,546 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {554#true} {554#true} #61#return; {554#true} is VALID [2022-04-28 12:40:30,339 INFO 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 VALID [2022-04-28 12:40:30,341 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-28 12:40:30,341 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-28 12:40:30,790 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-28 12:40:30,790 INFO L290 TraceCheckUtils]: 20: Hoare triple {617#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {621#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:40:30,791 INFO L290 TraceCheckUtils]: 21: Hoare triple {621#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {555#false} is VALID [2022-04-28 12:40:30,791 INFO L290 TraceCheckUtils]: 22: Hoare triple {555#false} assume !false; {555#false} is VALID [2022-04-28 12:40:30,791 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-28 12:40:30,791 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:40:30,791 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:40:30,792 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2063603538] [2022-04-28 12:40:30,792 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:40:30,792 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [866408937] [2022-04-28 12:40:30,792 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [866408937] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:40:30,792 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:40:30,792 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:40:30,792 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:40:30,792 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [999409656] [2022-04-28 12:40:30,793 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [999409656] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:40:30,793 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:40:30,793 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:40:30,793 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1141943359] [2022-04-28 12:40:30,793 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:40:30,793 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-28 12:40:30,794 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:40:30,794 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-28 12:40:31,859 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-28 12:40:31,859 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:40:31,859 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:31,860 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:40:31,860 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:40:31,860 INFO L87 Difference]: Start difference. First operand 27 states and 31 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-28 12:40:34,866 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-28 12:40:34,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:34,904 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-28 12:40:34,904 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:40:34,904 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-28 12:40:34,905 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:40:34,905 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-28 12:40:34,906 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-04-28 12:40:34,906 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-28 12:40:34,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-04-28 12:40:34,907 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 43 transitions. [2022-04-28 12:40:37,604 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 42 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:37,605 INFO L225 Difference]: With dead ends: 37 [2022-04-28 12:40:37,605 INFO L226 Difference]: Without dead ends: 35 [2022-04-28 12:40:37,606 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:40:37,607 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 7 mSDsluCounter, 59 mSDsCounter, 0 mSdLazyCounter, 35 mSolverCounterSat, 0 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 82 SdHoareTripleChecker+Invalid, 36 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 35 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.8s IncrementalHoareTripleChecker+Time [2022-04-28 12:40:37,607 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 82 Invalid, 36 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 35 Invalid, 1 Unknown, 0 Unchecked, 2.8s Time] [2022-04-28 12:40:37,608 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-28 12:40:37,631 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 32. [2022-04-28 12:40:37,631 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:40:37,632 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 32 states, 20 states have (on average 1.2) internal successors, (24), 22 states have internal predecessors, (24), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 12:40:37,632 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 32 states, 20 states have (on average 1.2) internal successors, (24), 22 states have internal predecessors, (24), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 12:40:37,632 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 32 states, 20 states have (on average 1.2) internal successors, (24), 22 states have internal predecessors, (24), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 12:40:37,634 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:37,634 INFO L93 Difference]: Finished difference Result 35 states and 41 transitions. [2022-04-28 12:40:37,634 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 41 transitions. [2022-04-28 12:40:37,635 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:37,635 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:37,635 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 20 states have (on average 1.2) internal successors, (24), 22 states have internal predecessors, (24), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-28 12:40:37,636 INFO L87 Difference]: Start difference. First operand has 32 states, 20 states have (on average 1.2) internal successors, (24), 22 states have internal predecessors, (24), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 35 states. [2022-04-28 12:40:37,637 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:37,637 INFO L93 Difference]: Finished difference Result 35 states and 41 transitions. [2022-04-28 12:40:37,638 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 41 transitions. [2022-04-28 12:40:37,638 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:37,638 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:37,638 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:40:37,638 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:40:37,638 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 20 states have (on average 1.2) internal successors, (24), 22 states have internal predecessors, (24), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 12:40:37,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 36 transitions. [2022-04-28 12:40:37,640 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 36 transitions. Word has length 23 [2022-04-28 12:40:37,640 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:40:37,640 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 36 transitions. [2022-04-28 12:40:37,641 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-28 12:40:37,641 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 36 transitions. [2022-04-28 12:40:41,115 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 35 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:41,116 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 36 transitions. [2022-04-28 12:40:41,116 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-28 12:40:41,116 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:40:41,116 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:40:41,134 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-28 12:40:41,317 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:40:41,317 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:40:41,318 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:40:41,318 INFO L85 PathProgramCache]: Analyzing trace with hash -1019533657, now seen corresponding path program 1 times [2022-04-28 12:40:41,318 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:41,318 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1089865171] [2022-04-28 12:40:41,318 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:40:41,318 INFO L85 PathProgramCache]: Analyzing trace with hash -1019533657, now seen corresponding path program 2 times [2022-04-28 12:40:41,319 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:40:41,319 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2082943408] [2022-04-28 12:40:41,319 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:40:41,319 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:40:41,332 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:40:41,333 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1017977321] [2022-04-28 12:40:41,333 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:40:41,333 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:40:41,333 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:40:41,334 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-28 12:40:41,336 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-28 12:40:41,389 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:40:41,390 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:40:41,390 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 12:40:41,399 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:40:41,400 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:40:41,582 INFO L272 TraceCheckUtils]: 0: Hoare triple {837#true} call ULTIMATE.init(); {837#true} is VALID [2022-04-28 12:40:41,582 INFO L290 TraceCheckUtils]: 1: Hoare triple {837#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; {837#true} is VALID [2022-04-28 12:40:41,583 INFO L290 TraceCheckUtils]: 2: Hoare triple {837#true} assume true; {837#true} is VALID [2022-04-28 12:40:41,583 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {837#true} {837#true} #67#return; {837#true} is VALID [2022-04-28 12:40:41,583 INFO L272 TraceCheckUtils]: 4: Hoare triple {837#true} call #t~ret7 := main(); {837#true} is VALID [2022-04-28 12:40:41,583 INFO L290 TraceCheckUtils]: 5: Hoare triple {837#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; {837#true} is VALID [2022-04-28 12:40:41,583 INFO L272 TraceCheckUtils]: 6: Hoare triple {837#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {837#true} is VALID [2022-04-28 12:40:41,584 INFO L290 TraceCheckUtils]: 7: Hoare triple {837#true} ~cond := #in~cond; {837#true} is VALID [2022-04-28 12:40:41,584 INFO L290 TraceCheckUtils]: 8: Hoare triple {837#true} assume !(0 == ~cond); {837#true} is VALID [2022-04-28 12:40:41,584 INFO L290 TraceCheckUtils]: 9: Hoare triple {837#true} assume true; {837#true} is VALID [2022-04-28 12:40:41,584 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {837#true} {837#true} #59#return; {837#true} is VALID [2022-04-28 12:40:41,584 INFO L272 TraceCheckUtils]: 11: Hoare triple {837#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)); {837#true} is VALID [2022-04-28 12:40:41,585 INFO L290 TraceCheckUtils]: 12: Hoare triple {837#true} ~cond := #in~cond; {837#true} is VALID [2022-04-28 12:40:41,585 INFO L290 TraceCheckUtils]: 13: Hoare triple {837#true} assume !(0 == ~cond); {837#true} is VALID [2022-04-28 12:40:41,585 INFO L290 TraceCheckUtils]: 14: Hoare triple {837#true} assume true; {837#true} is VALID [2022-04-28 12:40:41,585 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {837#true} {837#true} #61#return; {837#true} is VALID [2022-04-28 12:40:41,585 INFO L290 TraceCheckUtils]: 16: Hoare triple {837#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {837#true} is VALID [2022-04-28 12:40:41,585 INFO L290 TraceCheckUtils]: 17: Hoare triple {837#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {837#true} is VALID [2022-04-28 12:40:41,586 INFO L290 TraceCheckUtils]: 18: Hoare triple {837#true} assume !!(#t~post6 < 10);havoc #t~post6; {837#true} is VALID [2022-04-28 12:40:41,586 INFO L272 TraceCheckUtils]: 19: Hoare triple {837#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)); {837#true} is VALID [2022-04-28 12:40:41,586 INFO L290 TraceCheckUtils]: 20: Hoare triple {837#true} ~cond := #in~cond; {902#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:40:41,587 INFO L290 TraceCheckUtils]: 21: Hoare triple {902#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {906#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:40:41,587 INFO L290 TraceCheckUtils]: 22: Hoare triple {906#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {906#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:40:41,588 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {906#(not (= |__VERIFIER_assert_#in~cond| 0))} {837#true} #63#return; {913#(= (+ (* 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-28 12:40:41,589 INFO L290 TraceCheckUtils]: 24: Hoare triple {913#(= (+ (* 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); {917#(= (+ (* 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-28 12:40:41,590 INFO L272 TraceCheckUtils]: 25: Hoare triple {917#(= (+ (* 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)); {921#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:40:41,590 INFO L290 TraceCheckUtils]: 26: Hoare triple {921#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {925#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:40:41,591 INFO L290 TraceCheckUtils]: 27: Hoare triple {925#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {838#false} is VALID [2022-04-28 12:40:41,591 INFO L290 TraceCheckUtils]: 28: Hoare triple {838#false} assume !false; {838#false} is VALID [2022-04-28 12:40:41,591 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-28 12:40:41,591 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:40:42,061 INFO L290 TraceCheckUtils]: 28: Hoare triple {838#false} assume !false; {838#false} is VALID [2022-04-28 12:40:42,062 INFO L290 TraceCheckUtils]: 27: Hoare triple {925#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {838#false} is VALID [2022-04-28 12:40:42,062 INFO L290 TraceCheckUtils]: 26: Hoare triple {921#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {925#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:40:42,063 INFO L272 TraceCheckUtils]: 25: Hoare triple {917#(= (+ (* 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)); {921#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:40:42,064 INFO L290 TraceCheckUtils]: 24: Hoare triple {944#(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); {917#(= (+ (* 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-28 12:40:42,065 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {906#(not (= |__VERIFIER_assert_#in~cond| 0))} {837#true} #63#return; {944#(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-28 12:40:42,067 INFO L290 TraceCheckUtils]: 22: Hoare triple {906#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {906#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:40:42,068 INFO L290 TraceCheckUtils]: 21: Hoare triple {957#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {906#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:40:42,068 INFO L290 TraceCheckUtils]: 20: Hoare triple {837#true} ~cond := #in~cond; {957#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:40:42,068 INFO L272 TraceCheckUtils]: 19: Hoare triple {837#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)); {837#true} is VALID [2022-04-28 12:40:42,068 INFO L290 TraceCheckUtils]: 18: Hoare triple {837#true} assume !!(#t~post6 < 10);havoc #t~post6; {837#true} is VALID [2022-04-28 12:40:42,069 INFO L290 TraceCheckUtils]: 17: Hoare triple {837#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {837#true} is VALID [2022-04-28 12:40:42,069 INFO L290 TraceCheckUtils]: 16: Hoare triple {837#true} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {837#true} is VALID [2022-04-28 12:40:42,069 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {837#true} {837#true} #61#return; {837#true} is VALID [2022-04-28 12:40:42,069 INFO L290 TraceCheckUtils]: 14: Hoare triple {837#true} assume true; {837#true} is VALID [2022-04-28 12:40:42,069 INFO L290 TraceCheckUtils]: 13: Hoare triple {837#true} assume !(0 == ~cond); {837#true} is VALID [2022-04-28 12:40:42,069 INFO L290 TraceCheckUtils]: 12: Hoare triple {837#true} ~cond := #in~cond; {837#true} is VALID [2022-04-28 12:40:42,069 INFO L272 TraceCheckUtils]: 11: Hoare triple {837#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)); {837#true} is VALID [2022-04-28 12:40:42,070 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {837#true} {837#true} #59#return; {837#true} is VALID [2022-04-28 12:40:42,070 INFO L290 TraceCheckUtils]: 9: Hoare triple {837#true} assume true; {837#true} is VALID [2022-04-28 12:40:42,070 INFO L290 TraceCheckUtils]: 8: Hoare triple {837#true} assume !(0 == ~cond); {837#true} is VALID [2022-04-28 12:40:42,070 INFO L290 TraceCheckUtils]: 7: Hoare triple {837#true} ~cond := #in~cond; {837#true} is VALID [2022-04-28 12:40:42,070 INFO L272 TraceCheckUtils]: 6: Hoare triple {837#true} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {837#true} is VALID [2022-04-28 12:40:42,070 INFO L290 TraceCheckUtils]: 5: Hoare triple {837#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; {837#true} is VALID [2022-04-28 12:40:42,071 INFO L272 TraceCheckUtils]: 4: Hoare triple {837#true} call #t~ret7 := main(); {837#true} is VALID [2022-04-28 12:40:42,071 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {837#true} {837#true} #67#return; {837#true} is VALID [2022-04-28 12:40:42,071 INFO L290 TraceCheckUtils]: 2: Hoare triple {837#true} assume true; {837#true} is VALID [2022-04-28 12:40:42,071 INFO L290 TraceCheckUtils]: 1: Hoare triple {837#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; {837#true} is VALID [2022-04-28 12:40:42,071 INFO L272 TraceCheckUtils]: 0: Hoare triple {837#true} call ULTIMATE.init(); {837#true} is VALID [2022-04-28 12:40:42,071 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-28 12:40:42,072 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:40:42,072 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2082943408] [2022-04-28 12:40:42,072 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:40:42,072 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1017977321] [2022-04-28 12:40:42,072 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1017977321] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:40:42,072 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:40:42,072 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-28 12:40:42,073 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:40:42,073 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1089865171] [2022-04-28 12:40:42,073 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1089865171] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:40:42,073 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:40:42,073 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:40:42,073 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1924030602] [2022-04-28 12:40:42,073 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:40:42,074 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 29 [2022-04-28 12:40:42,074 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:40:42,074 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 12:40:42,096 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:42,096 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:40:42,096 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:42,097 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:40:42,097 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:40:42,097 INFO L87 Difference]: Start difference. First operand 32 states and 36 transitions. Second operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 12:40:42,531 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:42,531 INFO L93 Difference]: Finished difference Result 39 states and 42 transitions. [2022-04-28 12:40:42,531 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:40:42,531 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 29 [2022-04-28 12:40:42,531 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:40:42,532 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 12:40:42,533 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 35 transitions. [2022-04-28 12:40:42,533 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 12:40:42,534 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 35 transitions. [2022-04-28 12:40:42,534 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 35 transitions. [2022-04-28 12:40:42,577 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-28 12:40:42,578 INFO L225 Difference]: With dead ends: 39 [2022-04-28 12:40:42,578 INFO L226 Difference]: Without dead ends: 34 [2022-04-28 12:40:42,578 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 48 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:40:42,579 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 17 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 61 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:40:42,579 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 103 Invalid, 61 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:40:42,580 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2022-04-28 12:40:42,605 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 29. [2022-04-28 12:40:42,605 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:40:42,605 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand has 29 states, 19 states have (on average 1.105263157894737) internal successors, (21), 19 states have internal predecessors, (21), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 12:40:42,606 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand has 29 states, 19 states have (on average 1.105263157894737) internal successors, (21), 19 states have internal predecessors, (21), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 12:40:42,608 INFO L87 Difference]: Start difference. First operand 34 states. Second operand has 29 states, 19 states have (on average 1.105263157894737) internal successors, (21), 19 states have internal predecessors, (21), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 12:40:42,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:42,611 INFO L93 Difference]: Finished difference Result 34 states and 36 transitions. [2022-04-28 12:40:42,611 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 36 transitions. [2022-04-28 12:40:42,615 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:42,615 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:42,615 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 19 states have (on average 1.105263157894737) internal successors, (21), 19 states have internal predecessors, (21), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 34 states. [2022-04-28 12:40:42,615 INFO L87 Difference]: Start difference. First operand has 29 states, 19 states have (on average 1.105263157894737) internal successors, (21), 19 states have internal predecessors, (21), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 34 states. [2022-04-28 12:40:42,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:42,617 INFO L93 Difference]: Finished difference Result 34 states and 36 transitions. [2022-04-28 12:40:42,617 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 36 transitions. [2022-04-28 12:40:42,624 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:42,624 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:42,624 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:40:42,624 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:40:42,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 19 states have (on average 1.105263157894737) internal successors, (21), 19 states have internal predecessors, (21), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 12:40:42,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 31 transitions. [2022-04-28 12:40:42,626 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 31 transitions. Word has length 29 [2022-04-28 12:40:42,626 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:40:42,626 INFO L495 AbstractCegarLoop]: Abstraction has 29 states and 31 transitions. [2022-04-28 12:40:42,626 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 6 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 12:40:42,626 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 31 transitions. [2022-04-28 12:40:43,144 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:43,145 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 31 transitions. [2022-04-28 12:40:43,145 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-28 12:40:43,145 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:40:43,145 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:40:43,161 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-28 12:40:43,346 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:40:43,346 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:40:43,346 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:40:43,347 INFO L85 PathProgramCache]: Analyzing trace with hash 1080225052, now seen corresponding path program 1 times [2022-04-28 12:40:43,347 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:43,347 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1582527572] [2022-04-28 12:40:43,347 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:40:43,347 INFO L85 PathProgramCache]: Analyzing trace with hash 1080225052, now seen corresponding path program 2 times [2022-04-28 12:40:43,347 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:40:43,348 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [432398176] [2022-04-28 12:40:43,348 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:40:43,348 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:40:43,358 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:40:43,359 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [445017246] [2022-04-28 12:40:43,359 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:40:43,359 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:40:43,359 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:40:43,360 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-28 12:40:43,363 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-28 12:40:43,403 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:40:43,403 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:40:43,404 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:40:43,413 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:40:43,414 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:40:43,595 INFO L272 TraceCheckUtils]: 0: Hoare triple {1230#true} call ULTIMATE.init(); {1230#true} is VALID [2022-04-28 12:40:43,596 INFO L290 TraceCheckUtils]: 1: Hoare triple {1230#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; {1238#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:43,596 INFO L290 TraceCheckUtils]: 2: Hoare triple {1238#(<= ~counter~0 0)} assume true; {1238#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:43,596 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1238#(<= ~counter~0 0)} {1230#true} #67#return; {1238#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:43,597 INFO L272 TraceCheckUtils]: 4: Hoare triple {1238#(<= ~counter~0 0)} call #t~ret7 := main(); {1238#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:43,597 INFO L290 TraceCheckUtils]: 5: Hoare triple {1238#(<= ~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; {1238#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:43,598 INFO L272 TraceCheckUtils]: 6: Hoare triple {1238#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {1238#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:43,599 INFO L290 TraceCheckUtils]: 7: Hoare triple {1238#(<= ~counter~0 0)} ~cond := #in~cond; {1238#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:43,599 INFO L290 TraceCheckUtils]: 8: Hoare triple {1238#(<= ~counter~0 0)} assume !(0 == ~cond); {1238#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:43,599 INFO L290 TraceCheckUtils]: 9: Hoare triple {1238#(<= ~counter~0 0)} assume true; {1238#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:43,600 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1238#(<= ~counter~0 0)} {1238#(<= ~counter~0 0)} #59#return; {1238#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:43,601 INFO L272 TraceCheckUtils]: 11: Hoare triple {1238#(<= ~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)); {1238#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:43,601 INFO L290 TraceCheckUtils]: 12: Hoare triple {1238#(<= ~counter~0 0)} ~cond := #in~cond; {1238#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:43,602 INFO L290 TraceCheckUtils]: 13: Hoare triple {1238#(<= ~counter~0 0)} assume !(0 == ~cond); {1238#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:43,602 INFO L290 TraceCheckUtils]: 14: Hoare triple {1238#(<= ~counter~0 0)} assume true; {1238#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:43,603 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1238#(<= ~counter~0 0)} {1238#(<= ~counter~0 0)} #61#return; {1238#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:43,603 INFO L290 TraceCheckUtils]: 16: Hoare triple {1238#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {1238#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:43,604 INFO L290 TraceCheckUtils]: 17: Hoare triple {1238#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1287#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:43,604 INFO L290 TraceCheckUtils]: 18: Hoare triple {1287#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {1287#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:43,605 INFO L272 TraceCheckUtils]: 19: Hoare triple {1287#(<= ~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)); {1287#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:43,605 INFO L290 TraceCheckUtils]: 20: Hoare triple {1287#(<= ~counter~0 1)} ~cond := #in~cond; {1287#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:43,605 INFO L290 TraceCheckUtils]: 21: Hoare triple {1287#(<= ~counter~0 1)} assume !(0 == ~cond); {1287#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:43,606 INFO L290 TraceCheckUtils]: 22: Hoare triple {1287#(<= ~counter~0 1)} assume true; {1287#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:43,607 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1287#(<= ~counter~0 1)} {1287#(<= ~counter~0 1)} #63#return; {1287#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:43,609 INFO L290 TraceCheckUtils]: 24: Hoare triple {1287#(<= ~counter~0 1)} assume !!(0 != ~r~0); {1287#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:43,609 INFO L290 TraceCheckUtils]: 25: Hoare triple {1287#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {1287#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:43,610 INFO L290 TraceCheckUtils]: 26: Hoare triple {1287#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1315#(<= |main_#t~post6| 1)} is VALID [2022-04-28 12:40:43,610 INFO L290 TraceCheckUtils]: 27: Hoare triple {1315#(<= |main_#t~post6| 1)} assume !(#t~post6 < 10);havoc #t~post6; {1231#false} is VALID [2022-04-28 12:40:43,610 INFO L272 TraceCheckUtils]: 28: Hoare triple {1231#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)); {1231#false} is VALID [2022-04-28 12:40:43,611 INFO L290 TraceCheckUtils]: 29: Hoare triple {1231#false} ~cond := #in~cond; {1231#false} is VALID [2022-04-28 12:40:43,611 INFO L290 TraceCheckUtils]: 30: Hoare triple {1231#false} assume 0 == ~cond; {1231#false} is VALID [2022-04-28 12:40:43,611 INFO L290 TraceCheckUtils]: 31: Hoare triple {1231#false} assume !false; {1231#false} is VALID [2022-04-28 12:40:43,611 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:40:43,611 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:40:43,788 INFO L290 TraceCheckUtils]: 31: Hoare triple {1231#false} assume !false; {1231#false} is VALID [2022-04-28 12:40:43,788 INFO L290 TraceCheckUtils]: 30: Hoare triple {1231#false} assume 0 == ~cond; {1231#false} is VALID [2022-04-28 12:40:43,788 INFO L290 TraceCheckUtils]: 29: Hoare triple {1231#false} ~cond := #in~cond; {1231#false} is VALID [2022-04-28 12:40:43,788 INFO L272 TraceCheckUtils]: 28: Hoare triple {1231#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)); {1231#false} is VALID [2022-04-28 12:40:43,789 INFO L290 TraceCheckUtils]: 27: Hoare triple {1343#(< |main_#t~post6| 10)} assume !(#t~post6 < 10);havoc #t~post6; {1231#false} is VALID [2022-04-28 12:40:43,789 INFO L290 TraceCheckUtils]: 26: Hoare triple {1347#(< ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1343#(< |main_#t~post6| 10)} is VALID [2022-04-28 12:40:43,790 INFO L290 TraceCheckUtils]: 25: Hoare triple {1347#(< ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {1347#(< ~counter~0 10)} is VALID [2022-04-28 12:40:43,792 INFO L290 TraceCheckUtils]: 24: Hoare triple {1347#(< ~counter~0 10)} assume !!(0 != ~r~0); {1347#(< ~counter~0 10)} is VALID [2022-04-28 12:40:43,793 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1230#true} {1347#(< ~counter~0 10)} #63#return; {1347#(< ~counter~0 10)} is VALID [2022-04-28 12:40:43,793 INFO L290 TraceCheckUtils]: 22: Hoare triple {1230#true} assume true; {1230#true} is VALID [2022-04-28 12:40:43,793 INFO L290 TraceCheckUtils]: 21: Hoare triple {1230#true} assume !(0 == ~cond); {1230#true} is VALID [2022-04-28 12:40:43,793 INFO L290 TraceCheckUtils]: 20: Hoare triple {1230#true} ~cond := #in~cond; {1230#true} is VALID [2022-04-28 12:40:43,793 INFO L272 TraceCheckUtils]: 19: Hoare triple {1347#(< ~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)); {1230#true} is VALID [2022-04-28 12:40:43,794 INFO L290 TraceCheckUtils]: 18: Hoare triple {1347#(< ~counter~0 10)} assume !!(#t~post6 < 10);havoc #t~post6; {1347#(< ~counter~0 10)} is VALID [2022-04-28 12:40:43,794 INFO L290 TraceCheckUtils]: 17: Hoare triple {1375#(< ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1347#(< ~counter~0 10)} is VALID [2022-04-28 12:40:43,795 INFO L290 TraceCheckUtils]: 16: Hoare triple {1375#(< ~counter~0 9)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {1375#(< ~counter~0 9)} is VALID [2022-04-28 12:40:43,795 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1230#true} {1375#(< ~counter~0 9)} #61#return; {1375#(< ~counter~0 9)} is VALID [2022-04-28 12:40:43,795 INFO L290 TraceCheckUtils]: 14: Hoare triple {1230#true} assume true; {1230#true} is VALID [2022-04-28 12:40:43,796 INFO L290 TraceCheckUtils]: 13: Hoare triple {1230#true} assume !(0 == ~cond); {1230#true} is VALID [2022-04-28 12:40:43,796 INFO L290 TraceCheckUtils]: 12: Hoare triple {1230#true} ~cond := #in~cond; {1230#true} is VALID [2022-04-28 12:40:43,796 INFO L272 TraceCheckUtils]: 11: Hoare triple {1375#(< ~counter~0 9)} 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)); {1230#true} is VALID [2022-04-28 12:40:43,797 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1230#true} {1375#(< ~counter~0 9)} #59#return; {1375#(< ~counter~0 9)} is VALID [2022-04-28 12:40:43,797 INFO L290 TraceCheckUtils]: 9: Hoare triple {1230#true} assume true; {1230#true} is VALID [2022-04-28 12:40:43,797 INFO L290 TraceCheckUtils]: 8: Hoare triple {1230#true} assume !(0 == ~cond); {1230#true} is VALID [2022-04-28 12:40:43,798 INFO L290 TraceCheckUtils]: 7: Hoare triple {1230#true} ~cond := #in~cond; {1230#true} is VALID [2022-04-28 12:40:43,798 INFO L272 TraceCheckUtils]: 6: Hoare triple {1375#(< ~counter~0 9)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {1230#true} is VALID [2022-04-28 12:40:43,798 INFO L290 TraceCheckUtils]: 5: Hoare triple {1375#(< ~counter~0 9)} 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; {1375#(< ~counter~0 9)} is VALID [2022-04-28 12:40:43,798 INFO L272 TraceCheckUtils]: 4: Hoare triple {1375#(< ~counter~0 9)} call #t~ret7 := main(); {1375#(< ~counter~0 9)} is VALID [2022-04-28 12:40:43,799 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1375#(< ~counter~0 9)} {1230#true} #67#return; {1375#(< ~counter~0 9)} is VALID [2022-04-28 12:40:43,803 INFO L290 TraceCheckUtils]: 2: Hoare triple {1375#(< ~counter~0 9)} assume true; {1375#(< ~counter~0 9)} is VALID [2022-04-28 12:40:43,806 INFO L290 TraceCheckUtils]: 1: Hoare triple {1230#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; {1375#(< ~counter~0 9)} is VALID [2022-04-28 12:40:43,807 INFO L272 TraceCheckUtils]: 0: Hoare triple {1230#true} call ULTIMATE.init(); {1230#true} is VALID [2022-04-28 12:40:43,807 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:40:43,808 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:40:43,808 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [432398176] [2022-04-28 12:40:43,808 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:40:43,808 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [445017246] [2022-04-28 12:40:43,808 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [445017246] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:40:43,808 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:40:43,809 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-28 12:40:43,809 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:40:43,809 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1582527572] [2022-04-28 12:40:43,809 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1582527572] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:40:43,809 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:40:43,809 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:40:43,809 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [571697010] [2022-04-28 12:40:43,809 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:40:43,810 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 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 32 [2022-04-28 12:40:43,810 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:40:43,810 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 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-28 12:40:43,831 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:43,831 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:40:43,832 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:43,832 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:40:43,832 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:40:43,832 INFO L87 Difference]: Start difference. First operand 29 states and 31 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 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-28 12:40:43,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:43,931 INFO L93 Difference]: Finished difference Result 43 states and 46 transitions. [2022-04-28 12:40:43,931 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:40:43,931 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 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 32 [2022-04-28 12:40:43,932 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:40:43,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 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-28 12:40:43,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-28 12:40:43,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 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-28 12:40:43,935 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-28 12:40:43,935 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 45 transitions. [2022-04-28 12:40:43,966 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:43,967 INFO L225 Difference]: With dead ends: 43 [2022-04-28 12:40:43,967 INFO L226 Difference]: Without dead ends: 38 [2022-04-28 12:40:43,968 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 64 GetRequests, 57 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:40:43,968 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 7 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 78 SdHoareTripleChecker+Invalid, 18 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:40:43,969 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [7 Valid, 78 Invalid, 18 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:40:43,969 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-28 12:40:43,993 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 38. [2022-04-28 12:40:43,993 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:40:43,994 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 38 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 7 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 12:40:43,994 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 38 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 7 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 12:40:43,994 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 38 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 7 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 12:40:43,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:43,996 INFO L93 Difference]: Finished difference Result 38 states and 41 transitions. [2022-04-28 12:40:43,996 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 41 transitions. [2022-04-28 12:40:43,996 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:43,996 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:43,997 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 7 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 38 states. [2022-04-28 12:40:43,997 INFO L87 Difference]: Start difference. First operand has 38 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 7 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 38 states. [2022-04-28 12:40:43,998 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:43,998 INFO L93 Difference]: Finished difference Result 38 states and 41 transitions. [2022-04-28 12:40:43,999 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 41 transitions. [2022-04-28 12:40:43,999 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:43,999 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:43,999 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:40:43,999 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:40:43,999 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 26 states have internal predecessors, (29), 7 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 12:40:44,001 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 41 transitions. [2022-04-28 12:40:44,001 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 41 transitions. Word has length 32 [2022-04-28 12:40:44,001 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:40:44,001 INFO L495 AbstractCegarLoop]: Abstraction has 38 states and 41 transitions. [2022-04-28 12:40:44,001 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 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-28 12:40:44,001 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 41 transitions. [2022-04-28 12:40:44,622 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:44,623 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 41 transitions. [2022-04-28 12:40:44,623 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 12:40:44,623 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:40:44,623 INFO L195 NwaCegarLoop]: trace histogram [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] [2022-04-28 12:40:44,646 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 12:40:44,824 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:40:44,824 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:40:44,824 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:40:44,825 INFO L85 PathProgramCache]: Analyzing trace with hash 1448743382, now seen corresponding path program 3 times [2022-04-28 12:40:44,825 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:44,825 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [889201844] [2022-04-28 12:40:44,825 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:40:44,825 INFO L85 PathProgramCache]: Analyzing trace with hash 1448743382, now seen corresponding path program 4 times [2022-04-28 12:40:44,825 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:40:44,826 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1806486290] [2022-04-28 12:40:44,826 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:40:44,826 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:40:44,838 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:40:44,839 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1695153368] [2022-04-28 12:40:44,839 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:40:44,839 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:40:44,839 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:40:44,840 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-28 12:40:44,845 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-28 12:40:44,915 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:40:44,915 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:40:44,916 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:40:44,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:40:44,931 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:40:45,183 INFO L272 TraceCheckUtils]: 0: Hoare triple {1669#true} call ULTIMATE.init(); {1669#true} is VALID [2022-04-28 12:40:45,184 INFO L290 TraceCheckUtils]: 1: Hoare triple {1669#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; {1677#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:45,184 INFO L290 TraceCheckUtils]: 2: Hoare triple {1677#(<= ~counter~0 0)} assume true; {1677#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:45,184 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1677#(<= ~counter~0 0)} {1669#true} #67#return; {1677#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:45,185 INFO L272 TraceCheckUtils]: 4: Hoare triple {1677#(<= ~counter~0 0)} call #t~ret7 := main(); {1677#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:45,185 INFO L290 TraceCheckUtils]: 5: Hoare triple {1677#(<= ~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; {1677#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:45,186 INFO L272 TraceCheckUtils]: 6: Hoare triple {1677#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {1677#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:45,186 INFO L290 TraceCheckUtils]: 7: Hoare triple {1677#(<= ~counter~0 0)} ~cond := #in~cond; {1677#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:45,189 INFO L290 TraceCheckUtils]: 8: Hoare triple {1677#(<= ~counter~0 0)} assume !(0 == ~cond); {1677#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:45,190 INFO L290 TraceCheckUtils]: 9: Hoare triple {1677#(<= ~counter~0 0)} assume true; {1677#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:45,190 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1677#(<= ~counter~0 0)} {1677#(<= ~counter~0 0)} #59#return; {1677#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:45,191 INFO L272 TraceCheckUtils]: 11: Hoare triple {1677#(<= ~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)); {1677#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:45,191 INFO L290 TraceCheckUtils]: 12: Hoare triple {1677#(<= ~counter~0 0)} ~cond := #in~cond; {1677#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:45,192 INFO L290 TraceCheckUtils]: 13: Hoare triple {1677#(<= ~counter~0 0)} assume !(0 == ~cond); {1677#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:45,192 INFO L290 TraceCheckUtils]: 14: Hoare triple {1677#(<= ~counter~0 0)} assume true; {1677#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:45,192 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1677#(<= ~counter~0 0)} {1677#(<= ~counter~0 0)} #61#return; {1677#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:45,193 INFO L290 TraceCheckUtils]: 16: Hoare triple {1677#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {1677#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:45,193 INFO L290 TraceCheckUtils]: 17: Hoare triple {1677#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1726#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:45,194 INFO L290 TraceCheckUtils]: 18: Hoare triple {1726#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {1726#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:45,194 INFO L272 TraceCheckUtils]: 19: Hoare triple {1726#(<= ~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)); {1726#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:45,195 INFO L290 TraceCheckUtils]: 20: Hoare triple {1726#(<= ~counter~0 1)} ~cond := #in~cond; {1726#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:45,195 INFO L290 TraceCheckUtils]: 21: Hoare triple {1726#(<= ~counter~0 1)} assume !(0 == ~cond); {1726#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:45,195 INFO L290 TraceCheckUtils]: 22: Hoare triple {1726#(<= ~counter~0 1)} assume true; {1726#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:45,196 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1726#(<= ~counter~0 1)} {1726#(<= ~counter~0 1)} #63#return; {1726#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:45,196 INFO L290 TraceCheckUtils]: 24: Hoare triple {1726#(<= ~counter~0 1)} assume !!(0 != ~r~0); {1726#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:45,197 INFO L290 TraceCheckUtils]: 25: Hoare triple {1726#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {1726#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:45,197 INFO L290 TraceCheckUtils]: 26: Hoare triple {1726#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1754#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:45,198 INFO L290 TraceCheckUtils]: 27: Hoare triple {1754#(<= ~counter~0 2)} assume !!(#t~post6 < 10);havoc #t~post6; {1754#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:45,198 INFO L272 TraceCheckUtils]: 28: Hoare triple {1754#(<= ~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)); {1754#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:45,199 INFO L290 TraceCheckUtils]: 29: Hoare triple {1754#(<= ~counter~0 2)} ~cond := #in~cond; {1754#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:45,199 INFO L290 TraceCheckUtils]: 30: Hoare triple {1754#(<= ~counter~0 2)} assume !(0 == ~cond); {1754#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:45,199 INFO L290 TraceCheckUtils]: 31: Hoare triple {1754#(<= ~counter~0 2)} assume true; {1754#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:45,200 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1754#(<= ~counter~0 2)} {1754#(<= ~counter~0 2)} #63#return; {1754#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:45,200 INFO L290 TraceCheckUtils]: 33: Hoare triple {1754#(<= ~counter~0 2)} assume !!(0 != ~r~0); {1754#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:45,201 INFO L290 TraceCheckUtils]: 34: Hoare triple {1754#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {1754#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:45,201 INFO L290 TraceCheckUtils]: 35: Hoare triple {1754#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1782#(<= |main_#t~post6| 2)} is VALID [2022-04-28 12:40:45,201 INFO L290 TraceCheckUtils]: 36: Hoare triple {1782#(<= |main_#t~post6| 2)} assume !(#t~post6 < 10);havoc #t~post6; {1670#false} is VALID [2022-04-28 12:40:45,202 INFO L272 TraceCheckUtils]: 37: Hoare triple {1670#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)); {1670#false} is VALID [2022-04-28 12:40:45,202 INFO L290 TraceCheckUtils]: 38: Hoare triple {1670#false} ~cond := #in~cond; {1670#false} is VALID [2022-04-28 12:40:45,202 INFO L290 TraceCheckUtils]: 39: Hoare triple {1670#false} assume 0 == ~cond; {1670#false} is VALID [2022-04-28 12:40:45,202 INFO L290 TraceCheckUtils]: 40: Hoare triple {1670#false} assume !false; {1670#false} is VALID [2022-04-28 12:40:45,204 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 4 proven. 13 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:40:45,204 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:40:45,443 INFO L290 TraceCheckUtils]: 40: Hoare triple {1670#false} assume !false; {1670#false} is VALID [2022-04-28 12:40:45,444 INFO L290 TraceCheckUtils]: 39: Hoare triple {1670#false} assume 0 == ~cond; {1670#false} is VALID [2022-04-28 12:40:45,444 INFO L290 TraceCheckUtils]: 38: Hoare triple {1670#false} ~cond := #in~cond; {1670#false} is VALID [2022-04-28 12:40:45,444 INFO L272 TraceCheckUtils]: 37: Hoare triple {1670#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)); {1670#false} is VALID [2022-04-28 12:40:45,444 INFO L290 TraceCheckUtils]: 36: Hoare triple {1810#(< |main_#t~post6| 10)} assume !(#t~post6 < 10);havoc #t~post6; {1670#false} is VALID [2022-04-28 12:40:45,445 INFO L290 TraceCheckUtils]: 35: Hoare triple {1814#(< ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1810#(< |main_#t~post6| 10)} is VALID [2022-04-28 12:40:45,445 INFO L290 TraceCheckUtils]: 34: Hoare triple {1814#(< ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {1814#(< ~counter~0 10)} is VALID [2022-04-28 12:40:45,445 INFO L290 TraceCheckUtils]: 33: Hoare triple {1814#(< ~counter~0 10)} assume !!(0 != ~r~0); {1814#(< ~counter~0 10)} is VALID [2022-04-28 12:40:45,446 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1669#true} {1814#(< ~counter~0 10)} #63#return; {1814#(< ~counter~0 10)} is VALID [2022-04-28 12:40:45,446 INFO L290 TraceCheckUtils]: 31: Hoare triple {1669#true} assume true; {1669#true} is VALID [2022-04-28 12:40:45,446 INFO L290 TraceCheckUtils]: 30: Hoare triple {1669#true} assume !(0 == ~cond); {1669#true} is VALID [2022-04-28 12:40:45,446 INFO L290 TraceCheckUtils]: 29: Hoare triple {1669#true} ~cond := #in~cond; {1669#true} is VALID [2022-04-28 12:40:45,446 INFO L272 TraceCheckUtils]: 28: Hoare triple {1814#(< ~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)); {1669#true} is VALID [2022-04-28 12:40:45,447 INFO L290 TraceCheckUtils]: 27: Hoare triple {1814#(< ~counter~0 10)} assume !!(#t~post6 < 10);havoc #t~post6; {1814#(< ~counter~0 10)} is VALID [2022-04-28 12:40:45,451 INFO L290 TraceCheckUtils]: 26: Hoare triple {1842#(< ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1814#(< ~counter~0 10)} is VALID [2022-04-28 12:40:45,452 INFO L290 TraceCheckUtils]: 25: Hoare triple {1842#(< ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {1842#(< ~counter~0 9)} is VALID [2022-04-28 12:40:45,452 INFO L290 TraceCheckUtils]: 24: Hoare triple {1842#(< ~counter~0 9)} assume !!(0 != ~r~0); {1842#(< ~counter~0 9)} is VALID [2022-04-28 12:40:45,453 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1669#true} {1842#(< ~counter~0 9)} #63#return; {1842#(< ~counter~0 9)} is VALID [2022-04-28 12:40:45,453 INFO L290 TraceCheckUtils]: 22: Hoare triple {1669#true} assume true; {1669#true} is VALID [2022-04-28 12:40:45,453 INFO L290 TraceCheckUtils]: 21: Hoare triple {1669#true} assume !(0 == ~cond); {1669#true} is VALID [2022-04-28 12:40:45,453 INFO L290 TraceCheckUtils]: 20: Hoare triple {1669#true} ~cond := #in~cond; {1669#true} is VALID [2022-04-28 12:40:45,453 INFO L272 TraceCheckUtils]: 19: Hoare triple {1842#(< ~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)); {1669#true} is VALID [2022-04-28 12:40:45,455 INFO L290 TraceCheckUtils]: 18: Hoare triple {1842#(< ~counter~0 9)} assume !!(#t~post6 < 10);havoc #t~post6; {1842#(< ~counter~0 9)} is VALID [2022-04-28 12:40:45,455 INFO L290 TraceCheckUtils]: 17: Hoare triple {1870#(< ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1842#(< ~counter~0 9)} is VALID [2022-04-28 12:40:45,458 INFO L290 TraceCheckUtils]: 16: Hoare triple {1870#(< ~counter~0 8)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {1870#(< ~counter~0 8)} is VALID [2022-04-28 12:40:45,459 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1669#true} {1870#(< ~counter~0 8)} #61#return; {1870#(< ~counter~0 8)} is VALID [2022-04-28 12:40:45,459 INFO L290 TraceCheckUtils]: 14: Hoare triple {1669#true} assume true; {1669#true} is VALID [2022-04-28 12:40:45,459 INFO L290 TraceCheckUtils]: 13: Hoare triple {1669#true} assume !(0 == ~cond); {1669#true} is VALID [2022-04-28 12:40:45,459 INFO L290 TraceCheckUtils]: 12: Hoare triple {1669#true} ~cond := #in~cond; {1669#true} is VALID [2022-04-28 12:40:45,459 INFO L272 TraceCheckUtils]: 11: Hoare triple {1870#(< ~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)); {1669#true} is VALID [2022-04-28 12:40:45,461 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1669#true} {1870#(< ~counter~0 8)} #59#return; {1870#(< ~counter~0 8)} is VALID [2022-04-28 12:40:45,461 INFO L290 TraceCheckUtils]: 9: Hoare triple {1669#true} assume true; {1669#true} is VALID [2022-04-28 12:40:45,461 INFO L290 TraceCheckUtils]: 8: Hoare triple {1669#true} assume !(0 == ~cond); {1669#true} is VALID [2022-04-28 12:40:45,461 INFO L290 TraceCheckUtils]: 7: Hoare triple {1669#true} ~cond := #in~cond; {1669#true} is VALID [2022-04-28 12:40:45,461 INFO L272 TraceCheckUtils]: 6: Hoare triple {1870#(< ~counter~0 8)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {1669#true} is VALID [2022-04-28 12:40:45,462 INFO L290 TraceCheckUtils]: 5: Hoare triple {1870#(< ~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; {1870#(< ~counter~0 8)} is VALID [2022-04-28 12:40:45,462 INFO L272 TraceCheckUtils]: 4: Hoare triple {1870#(< ~counter~0 8)} call #t~ret7 := main(); {1870#(< ~counter~0 8)} is VALID [2022-04-28 12:40:45,462 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1870#(< ~counter~0 8)} {1669#true} #67#return; {1870#(< ~counter~0 8)} is VALID [2022-04-28 12:40:45,463 INFO L290 TraceCheckUtils]: 2: Hoare triple {1870#(< ~counter~0 8)} assume true; {1870#(< ~counter~0 8)} is VALID [2022-04-28 12:40:45,463 INFO L290 TraceCheckUtils]: 1: Hoare triple {1669#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; {1870#(< ~counter~0 8)} is VALID [2022-04-28 12:40:45,464 INFO L272 TraceCheckUtils]: 0: Hoare triple {1669#true} call ULTIMATE.init(); {1669#true} is VALID [2022-04-28 12:40:45,464 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 12:40:45,464 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:40:45,464 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1806486290] [2022-04-28 12:40:45,464 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:40:45,464 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1695153368] [2022-04-28 12:40:45,464 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1695153368] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:40:45,465 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:40:45,465 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 12:40:45,465 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:40:45,465 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [889201844] [2022-04-28 12:40:45,465 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [889201844] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:40:45,465 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:40:45,465 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:40:45,465 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [331803591] [2022-04-28 12:40:45,465 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:40:45,466 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-28 12:40:45,466 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:40:45,466 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 12:40:45,495 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-28 12:40:45,495 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:40:45,495 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:45,496 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:40:45,496 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:40:45,496 INFO L87 Difference]: Start difference. First operand 38 states and 41 transitions. Second operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 12:40:45,673 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:45,673 INFO L93 Difference]: Finished difference Result 52 states and 56 transitions. [2022-04-28 12:40:45,673 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:40:45,673 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) Word has length 41 [2022-04-28 12:40:45,674 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:40:45,674 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 12:40:45,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2022-04-28 12:40:45,676 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 12:40:45,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2022-04-28 12:40:45,678 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 55 transitions. [2022-04-28 12:40:45,721 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:45,722 INFO L225 Difference]: With dead ends: 52 [2022-04-28 12:40:45,723 INFO L226 Difference]: Without dead ends: 47 [2022-04-28 12:40:45,723 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 73 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:40:45,724 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 15 mSDsluCounter, 58 mSDsCounter, 0 mSdLazyCounter, 16 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 86 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 16 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:40:45,724 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 86 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 16 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:40:45,724 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-28 12:40:45,760 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 47. [2022-04-28 12:40:45,760 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:40:45,761 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 33 states have internal predecessors, (37), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 12:40:45,761 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 33 states have internal predecessors, (37), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 12:40:45,761 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 33 states have internal predecessors, (37), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 12:40:45,763 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:45,763 INFO L93 Difference]: Finished difference Result 47 states and 51 transitions. [2022-04-28 12:40:45,763 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2022-04-28 12:40:45,763 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:45,763 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:45,764 INFO L74 IsIncluded]: Start isIncluded. First operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 33 states have internal predecessors, (37), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 47 states. [2022-04-28 12:40:45,764 INFO L87 Difference]: Start difference. First operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 33 states have internal predecessors, (37), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 47 states. [2022-04-28 12:40:45,766 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:45,766 INFO L93 Difference]: Finished difference Result 47 states and 51 transitions. [2022-04-28 12:40:45,766 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2022-04-28 12:40:45,766 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:45,766 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:45,766 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:40:45,766 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:40:45,767 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 33 states have internal predecessors, (37), 8 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 12:40:45,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 51 transitions. [2022-04-28 12:40:45,768 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 51 transitions. Word has length 41 [2022-04-28 12:40:45,768 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:40:45,769 INFO L495 AbstractCegarLoop]: Abstraction has 47 states and 51 transitions. [2022-04-28 12:40:45,769 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 12:40:45,769 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 47 states and 51 transitions. [2022-04-28 12:40:46,236 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:46,236 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2022-04-28 12:40:46,237 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 12:40:46,237 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:40:46,237 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:40:46,256 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-28 12:40:46,443 WARN L477 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-28 12:40:46,443 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:40:46,444 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:40:46,444 INFO L85 PathProgramCache]: Analyzing trace with hash -678977956, now seen corresponding path program 5 times [2022-04-28 12:40:46,444 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:46,444 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [729110464] [2022-04-28 12:40:46,445 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:40:46,445 INFO L85 PathProgramCache]: Analyzing trace with hash -678977956, now seen corresponding path program 6 times [2022-04-28 12:40:46,445 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:40:46,445 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1948901307] [2022-04-28 12:40:46,445 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:40:46,445 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:40:46,463 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:40:46,463 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1931419338] [2022-04-28 12:40:46,464 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:40:46,464 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:40:46,464 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:40:46,465 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-28 12:40:46,528 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-28 12:40:46,565 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 12:40:46,566 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:40:46,566 INFO L263 TraceCheckSpWp]: Trace formula consists of 153 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:40:46,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:40:46,587 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:40:46,851 INFO L272 TraceCheckUtils]: 0: Hoare triple {2220#true} call ULTIMATE.init(); {2220#true} is VALID [2022-04-28 12:40:46,852 INFO L290 TraceCheckUtils]: 1: Hoare triple {2220#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; {2228#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:46,852 INFO L290 TraceCheckUtils]: 2: Hoare triple {2228#(<= ~counter~0 0)} assume true; {2228#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:46,853 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2228#(<= ~counter~0 0)} {2220#true} #67#return; {2228#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:46,853 INFO L272 TraceCheckUtils]: 4: Hoare triple {2228#(<= ~counter~0 0)} call #t~ret7 := main(); {2228#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:46,854 INFO L290 TraceCheckUtils]: 5: Hoare triple {2228#(<= ~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; {2228#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:46,854 INFO L272 TraceCheckUtils]: 6: Hoare triple {2228#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {2228#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:46,855 INFO L290 TraceCheckUtils]: 7: Hoare triple {2228#(<= ~counter~0 0)} ~cond := #in~cond; {2228#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:46,855 INFO L290 TraceCheckUtils]: 8: Hoare triple {2228#(<= ~counter~0 0)} assume !(0 == ~cond); {2228#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:46,855 INFO L290 TraceCheckUtils]: 9: Hoare triple {2228#(<= ~counter~0 0)} assume true; {2228#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:46,857 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2228#(<= ~counter~0 0)} {2228#(<= ~counter~0 0)} #59#return; {2228#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:46,858 INFO L272 TraceCheckUtils]: 11: Hoare triple {2228#(<= ~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)); {2228#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:46,858 INFO L290 TraceCheckUtils]: 12: Hoare triple {2228#(<= ~counter~0 0)} ~cond := #in~cond; {2228#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:46,858 INFO L290 TraceCheckUtils]: 13: Hoare triple {2228#(<= ~counter~0 0)} assume !(0 == ~cond); {2228#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:46,859 INFO L290 TraceCheckUtils]: 14: Hoare triple {2228#(<= ~counter~0 0)} assume true; {2228#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:46,859 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2228#(<= ~counter~0 0)} {2228#(<= ~counter~0 0)} #61#return; {2228#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:46,859 INFO L290 TraceCheckUtils]: 16: Hoare triple {2228#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {2228#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:46,860 INFO L290 TraceCheckUtils]: 17: Hoare triple {2228#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2277#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:46,860 INFO L290 TraceCheckUtils]: 18: Hoare triple {2277#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {2277#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:46,861 INFO L272 TraceCheckUtils]: 19: Hoare triple {2277#(<= ~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)); {2277#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:46,861 INFO L290 TraceCheckUtils]: 20: Hoare triple {2277#(<= ~counter~0 1)} ~cond := #in~cond; {2277#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:46,861 INFO L290 TraceCheckUtils]: 21: Hoare triple {2277#(<= ~counter~0 1)} assume !(0 == ~cond); {2277#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:46,862 INFO L290 TraceCheckUtils]: 22: Hoare triple {2277#(<= ~counter~0 1)} assume true; {2277#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:46,862 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2277#(<= ~counter~0 1)} {2277#(<= ~counter~0 1)} #63#return; {2277#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:46,863 INFO L290 TraceCheckUtils]: 24: Hoare triple {2277#(<= ~counter~0 1)} assume !!(0 != ~r~0); {2277#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:46,863 INFO L290 TraceCheckUtils]: 25: Hoare triple {2277#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {2277#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:46,864 INFO L290 TraceCheckUtils]: 26: Hoare triple {2277#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2305#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:46,864 INFO L290 TraceCheckUtils]: 27: Hoare triple {2305#(<= ~counter~0 2)} assume !!(#t~post6 < 10);havoc #t~post6; {2305#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:46,864 INFO L272 TraceCheckUtils]: 28: Hoare triple {2305#(<= ~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)); {2305#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:46,865 INFO L290 TraceCheckUtils]: 29: Hoare triple {2305#(<= ~counter~0 2)} ~cond := #in~cond; {2305#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:46,865 INFO L290 TraceCheckUtils]: 30: Hoare triple {2305#(<= ~counter~0 2)} assume !(0 == ~cond); {2305#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:46,865 INFO L290 TraceCheckUtils]: 31: Hoare triple {2305#(<= ~counter~0 2)} assume true; {2305#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:46,866 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2305#(<= ~counter~0 2)} {2305#(<= ~counter~0 2)} #63#return; {2305#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:46,866 INFO L290 TraceCheckUtils]: 33: Hoare triple {2305#(<= ~counter~0 2)} assume !!(0 != ~r~0); {2305#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:46,867 INFO L290 TraceCheckUtils]: 34: Hoare triple {2305#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {2305#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:46,867 INFO L290 TraceCheckUtils]: 35: Hoare triple {2305#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2333#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:46,867 INFO L290 TraceCheckUtils]: 36: Hoare triple {2333#(<= ~counter~0 3)} assume !!(#t~post6 < 10);havoc #t~post6; {2333#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:46,868 INFO L272 TraceCheckUtils]: 37: Hoare triple {2333#(<= ~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)); {2333#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:46,869 INFO L290 TraceCheckUtils]: 38: Hoare triple {2333#(<= ~counter~0 3)} ~cond := #in~cond; {2333#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:46,870 INFO L290 TraceCheckUtils]: 39: Hoare triple {2333#(<= ~counter~0 3)} assume !(0 == ~cond); {2333#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:46,870 INFO L290 TraceCheckUtils]: 40: Hoare triple {2333#(<= ~counter~0 3)} assume true; {2333#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:46,871 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2333#(<= ~counter~0 3)} {2333#(<= ~counter~0 3)} #63#return; {2333#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:46,871 INFO L290 TraceCheckUtils]: 42: Hoare triple {2333#(<= ~counter~0 3)} assume !!(0 != ~r~0); {2333#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:46,871 INFO L290 TraceCheckUtils]: 43: Hoare triple {2333#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {2333#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:46,872 INFO L290 TraceCheckUtils]: 44: Hoare triple {2333#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2361#(<= |main_#t~post6| 3)} is VALID [2022-04-28 12:40:46,872 INFO L290 TraceCheckUtils]: 45: Hoare triple {2361#(<= |main_#t~post6| 3)} assume !(#t~post6 < 10);havoc #t~post6; {2221#false} is VALID [2022-04-28 12:40:46,872 INFO L272 TraceCheckUtils]: 46: Hoare triple {2221#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)); {2221#false} is VALID [2022-04-28 12:40:46,872 INFO L290 TraceCheckUtils]: 47: Hoare triple {2221#false} ~cond := #in~cond; {2221#false} is VALID [2022-04-28 12:40:46,873 INFO L290 TraceCheckUtils]: 48: Hoare triple {2221#false} assume 0 == ~cond; {2221#false} is VALID [2022-04-28 12:40:46,873 INFO L290 TraceCheckUtils]: 49: Hoare triple {2221#false} assume !false; {2221#false} is VALID [2022-04-28 12:40:46,873 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 6 proven. 33 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:40:46,873 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:40:47,138 INFO L290 TraceCheckUtils]: 49: Hoare triple {2221#false} assume !false; {2221#false} is VALID [2022-04-28 12:40:47,138 INFO L290 TraceCheckUtils]: 48: Hoare triple {2221#false} assume 0 == ~cond; {2221#false} is VALID [2022-04-28 12:40:47,138 INFO L290 TraceCheckUtils]: 47: Hoare triple {2221#false} ~cond := #in~cond; {2221#false} is VALID [2022-04-28 12:40:47,138 INFO L272 TraceCheckUtils]: 46: Hoare triple {2221#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)); {2221#false} is VALID [2022-04-28 12:40:47,139 INFO L290 TraceCheckUtils]: 45: Hoare triple {2389#(< |main_#t~post6| 10)} assume !(#t~post6 < 10);havoc #t~post6; {2221#false} is VALID [2022-04-28 12:40:47,139 INFO L290 TraceCheckUtils]: 44: Hoare triple {2393#(< ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2389#(< |main_#t~post6| 10)} is VALID [2022-04-28 12:40:47,139 INFO L290 TraceCheckUtils]: 43: Hoare triple {2393#(< ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {2393#(< ~counter~0 10)} is VALID [2022-04-28 12:40:47,145 INFO L290 TraceCheckUtils]: 42: Hoare triple {2393#(< ~counter~0 10)} assume !!(0 != ~r~0); {2393#(< ~counter~0 10)} is VALID [2022-04-28 12:40:47,145 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2220#true} {2393#(< ~counter~0 10)} #63#return; {2393#(< ~counter~0 10)} is VALID [2022-04-28 12:40:47,145 INFO L290 TraceCheckUtils]: 40: Hoare triple {2220#true} assume true; {2220#true} is VALID [2022-04-28 12:40:47,145 INFO L290 TraceCheckUtils]: 39: Hoare triple {2220#true} assume !(0 == ~cond); {2220#true} is VALID [2022-04-28 12:40:47,146 INFO L290 TraceCheckUtils]: 38: Hoare triple {2220#true} ~cond := #in~cond; {2220#true} is VALID [2022-04-28 12:40:47,146 INFO L272 TraceCheckUtils]: 37: Hoare triple {2393#(< ~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)); {2220#true} is VALID [2022-04-28 12:40:47,146 INFO L290 TraceCheckUtils]: 36: Hoare triple {2393#(< ~counter~0 10)} assume !!(#t~post6 < 10);havoc #t~post6; {2393#(< ~counter~0 10)} is VALID [2022-04-28 12:40:47,147 INFO L290 TraceCheckUtils]: 35: Hoare triple {2421#(< ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2393#(< ~counter~0 10)} is VALID [2022-04-28 12:40:47,147 INFO L290 TraceCheckUtils]: 34: Hoare triple {2421#(< ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {2421#(< ~counter~0 9)} is VALID [2022-04-28 12:40:47,147 INFO L290 TraceCheckUtils]: 33: Hoare triple {2421#(< ~counter~0 9)} assume !!(0 != ~r~0); {2421#(< ~counter~0 9)} is VALID [2022-04-28 12:40:47,148 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2220#true} {2421#(< ~counter~0 9)} #63#return; {2421#(< ~counter~0 9)} is VALID [2022-04-28 12:40:47,148 INFO L290 TraceCheckUtils]: 31: Hoare triple {2220#true} assume true; {2220#true} is VALID [2022-04-28 12:40:47,148 INFO L290 TraceCheckUtils]: 30: Hoare triple {2220#true} assume !(0 == ~cond); {2220#true} is VALID [2022-04-28 12:40:47,148 INFO L290 TraceCheckUtils]: 29: Hoare triple {2220#true} ~cond := #in~cond; {2220#true} is VALID [2022-04-28 12:40:47,148 INFO L272 TraceCheckUtils]: 28: Hoare triple {2421#(< ~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)); {2220#true} is VALID [2022-04-28 12:40:47,149 INFO L290 TraceCheckUtils]: 27: Hoare triple {2421#(< ~counter~0 9)} assume !!(#t~post6 < 10);havoc #t~post6; {2421#(< ~counter~0 9)} is VALID [2022-04-28 12:40:47,149 INFO L290 TraceCheckUtils]: 26: Hoare triple {2449#(< ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2421#(< ~counter~0 9)} is VALID [2022-04-28 12:40:47,149 INFO L290 TraceCheckUtils]: 25: Hoare triple {2449#(< ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {2449#(< ~counter~0 8)} is VALID [2022-04-28 12:40:47,150 INFO L290 TraceCheckUtils]: 24: Hoare triple {2449#(< ~counter~0 8)} assume !!(0 != ~r~0); {2449#(< ~counter~0 8)} is VALID [2022-04-28 12:40:47,150 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2220#true} {2449#(< ~counter~0 8)} #63#return; {2449#(< ~counter~0 8)} is VALID [2022-04-28 12:40:47,150 INFO L290 TraceCheckUtils]: 22: Hoare triple {2220#true} assume true; {2220#true} is VALID [2022-04-28 12:40:47,151 INFO L290 TraceCheckUtils]: 21: Hoare triple {2220#true} assume !(0 == ~cond); {2220#true} is VALID [2022-04-28 12:40:47,151 INFO L290 TraceCheckUtils]: 20: Hoare triple {2220#true} ~cond := #in~cond; {2220#true} is VALID [2022-04-28 12:40:47,151 INFO L272 TraceCheckUtils]: 19: Hoare triple {2449#(< ~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)); {2220#true} is VALID [2022-04-28 12:40:47,151 INFO L290 TraceCheckUtils]: 18: Hoare triple {2449#(< ~counter~0 8)} assume !!(#t~post6 < 10);havoc #t~post6; {2449#(< ~counter~0 8)} is VALID [2022-04-28 12:40:47,152 INFO L290 TraceCheckUtils]: 17: Hoare triple {2477#(< ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2449#(< ~counter~0 8)} is VALID [2022-04-28 12:40:47,152 INFO L290 TraceCheckUtils]: 16: Hoare triple {2477#(< ~counter~0 7)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {2477#(< ~counter~0 7)} is VALID [2022-04-28 12:40:47,152 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2220#true} {2477#(< ~counter~0 7)} #61#return; {2477#(< ~counter~0 7)} is VALID [2022-04-28 12:40:47,152 INFO L290 TraceCheckUtils]: 14: Hoare triple {2220#true} assume true; {2220#true} is VALID [2022-04-28 12:40:47,153 INFO L290 TraceCheckUtils]: 13: Hoare triple {2220#true} assume !(0 == ~cond); {2220#true} is VALID [2022-04-28 12:40:47,153 INFO L290 TraceCheckUtils]: 12: Hoare triple {2220#true} ~cond := #in~cond; {2220#true} is VALID [2022-04-28 12:40:47,153 INFO L272 TraceCheckUtils]: 11: Hoare triple {2477#(< ~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)); {2220#true} is VALID [2022-04-28 12:40:47,153 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2220#true} {2477#(< ~counter~0 7)} #59#return; {2477#(< ~counter~0 7)} is VALID [2022-04-28 12:40:47,153 INFO L290 TraceCheckUtils]: 9: Hoare triple {2220#true} assume true; {2220#true} is VALID [2022-04-28 12:40:47,153 INFO L290 TraceCheckUtils]: 8: Hoare triple {2220#true} assume !(0 == ~cond); {2220#true} is VALID [2022-04-28 12:40:47,154 INFO L290 TraceCheckUtils]: 7: Hoare triple {2220#true} ~cond := #in~cond; {2220#true} is VALID [2022-04-28 12:40:47,154 INFO L272 TraceCheckUtils]: 6: Hoare triple {2477#(< ~counter~0 7)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {2220#true} is VALID [2022-04-28 12:40:47,154 INFO L290 TraceCheckUtils]: 5: Hoare triple {2477#(< ~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; {2477#(< ~counter~0 7)} is VALID [2022-04-28 12:40:47,154 INFO L272 TraceCheckUtils]: 4: Hoare triple {2477#(< ~counter~0 7)} call #t~ret7 := main(); {2477#(< ~counter~0 7)} is VALID [2022-04-28 12:40:47,155 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2477#(< ~counter~0 7)} {2220#true} #67#return; {2477#(< ~counter~0 7)} is VALID [2022-04-28 12:40:47,155 INFO L290 TraceCheckUtils]: 2: Hoare triple {2477#(< ~counter~0 7)} assume true; {2477#(< ~counter~0 7)} is VALID [2022-04-28 12:40:47,156 INFO L290 TraceCheckUtils]: 1: Hoare triple {2220#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; {2477#(< ~counter~0 7)} is VALID [2022-04-28 12:40:47,156 INFO L272 TraceCheckUtils]: 0: Hoare triple {2220#true} call ULTIMATE.init(); {2220#true} is VALID [2022-04-28 12:40:47,157 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 6 proven. 21 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 12:40:47,157 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:40:47,157 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1948901307] [2022-04-28 12:40:47,157 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:40:47,157 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1931419338] [2022-04-28 12:40:47,157 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1931419338] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:40:47,157 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:40:47,157 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 12:40:47,158 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:40:47,158 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [729110464] [2022-04-28 12:40:47,158 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [729110464] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:40:47,158 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:40:47,158 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 12:40:47,158 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1811755823] [2022-04-28 12:40:47,158 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:40:47,159 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-28 12:40:47,159 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:40:47,160 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 12:40:47,195 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-28 12:40:47,195 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 12:40:47,196 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:47,196 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 12:40:47,196 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:40:47,197 INFO L87 Difference]: Start difference. First operand 47 states and 51 transitions. Second operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 12:40:47,374 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:47,374 INFO L93 Difference]: Finished difference Result 61 states and 66 transitions. [2022-04-28 12:40:47,374 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 12:40:47,374 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) Word has length 50 [2022-04-28 12:40:47,374 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:40:47,375 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 12:40:47,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 65 transitions. [2022-04-28 12:40:47,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 12:40:47,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 65 transitions. [2022-04-28 12:40:47,380 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 65 transitions. [2022-04-28 12:40:47,434 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:47,437 INFO L225 Difference]: With dead ends: 61 [2022-04-28 12:40:47,437 INFO L226 Difference]: Without dead ends: 56 [2022-04-28 12:40:47,437 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 102 GetRequests, 89 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:40:47,439 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 10 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 20 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 94 SdHoareTripleChecker+Invalid, 27 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 20 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:40:47,439 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 94 Invalid, 27 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 20 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:40:47,440 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-28 12:40:47,492 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 56. [2022-04-28 12:40:47,492 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:40:47,492 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 40 states have internal predecessors, (45), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 12:40:47,494 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 40 states have internal predecessors, (45), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 12:40:47,495 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 40 states have internal predecessors, (45), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 12:40:47,498 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:47,498 INFO L93 Difference]: Finished difference Result 56 states and 61 transitions. [2022-04-28 12:40:47,498 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 61 transitions. [2022-04-28 12:40:47,498 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:47,498 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:47,500 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 40 states have internal predecessors, (45), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 56 states. [2022-04-28 12:40:47,500 INFO L87 Difference]: Start difference. First operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 40 states have internal predecessors, (45), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 56 states. [2022-04-28 12:40:47,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:47,503 INFO L93 Difference]: Finished difference Result 56 states and 61 transitions. [2022-04-28 12:40:47,503 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 61 transitions. [2022-04-28 12:40:47,504 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:47,504 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:47,504 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:40:47,504 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:40:47,505 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 40 states have internal predecessors, (45), 9 states have call successors, (9), 8 states have call predecessors, (9), 6 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 12:40:47,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 61 transitions. [2022-04-28 12:40:47,508 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 61 transitions. Word has length 50 [2022-04-28 12:40:47,509 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:40:47,509 INFO L495 AbstractCegarLoop]: Abstraction has 56 states and 61 transitions. [2022-04-28 12:40:47,509 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 12:40:47,509 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 61 transitions. [2022-04-28 12:40:48,679 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:48,679 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 61 transitions. [2022-04-28 12:40:48,680 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 60 [2022-04-28 12:40:48,680 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:40:48,680 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:40:48,697 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-28 12:40:48,885 WARN L477 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-28 12:40:48,885 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:40:48,886 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:40:48,886 INFO L85 PathProgramCache]: Analyzing trace with hash 1632159894, now seen corresponding path program 7 times [2022-04-28 12:40:48,886 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:48,886 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1999211689] [2022-04-28 12:40:48,886 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:40:48,886 INFO L85 PathProgramCache]: Analyzing trace with hash 1632159894, now seen corresponding path program 8 times [2022-04-28 12:40:48,886 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:40:48,886 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [583635265] [2022-04-28 12:40:48,887 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:40:48,887 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:40:48,915 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:40:48,915 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [866589148] [2022-04-28 12:40:48,915 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:40:48,915 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:40:48,915 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:40:48,916 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-28 12:40:48,917 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-28 12:40:48,962 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:40:48,962 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:40:48,963 INFO L263 TraceCheckSpWp]: Trace formula consists of 173 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 12:40:48,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:40:48,977 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:40:49,281 INFO L272 TraceCheckUtils]: 0: Hoare triple {2883#true} call ULTIMATE.init(); {2883#true} is VALID [2022-04-28 12:40:49,282 INFO L290 TraceCheckUtils]: 1: Hoare triple {2883#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; {2891#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:49,283 INFO L290 TraceCheckUtils]: 2: Hoare triple {2891#(<= ~counter~0 0)} assume true; {2891#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:49,283 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2891#(<= ~counter~0 0)} {2883#true} #67#return; {2891#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:49,283 INFO L272 TraceCheckUtils]: 4: Hoare triple {2891#(<= ~counter~0 0)} call #t~ret7 := main(); {2891#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:49,286 INFO L290 TraceCheckUtils]: 5: Hoare triple {2891#(<= ~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; {2891#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:49,287 INFO L272 TraceCheckUtils]: 6: Hoare triple {2891#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {2891#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:49,294 INFO L290 TraceCheckUtils]: 7: Hoare triple {2891#(<= ~counter~0 0)} ~cond := #in~cond; {2891#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:49,297 INFO L290 TraceCheckUtils]: 8: Hoare triple {2891#(<= ~counter~0 0)} assume !(0 == ~cond); {2891#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:49,298 INFO L290 TraceCheckUtils]: 9: Hoare triple {2891#(<= ~counter~0 0)} assume true; {2891#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:49,299 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2891#(<= ~counter~0 0)} {2891#(<= ~counter~0 0)} #59#return; {2891#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:49,299 INFO L272 TraceCheckUtils]: 11: Hoare triple {2891#(<= ~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)); {2891#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:49,299 INFO L290 TraceCheckUtils]: 12: Hoare triple {2891#(<= ~counter~0 0)} ~cond := #in~cond; {2891#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:49,300 INFO L290 TraceCheckUtils]: 13: Hoare triple {2891#(<= ~counter~0 0)} assume !(0 == ~cond); {2891#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:49,320 INFO L290 TraceCheckUtils]: 14: Hoare triple {2891#(<= ~counter~0 0)} assume true; {2891#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:49,322 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2891#(<= ~counter~0 0)} {2891#(<= ~counter~0 0)} #61#return; {2891#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:49,322 INFO L290 TraceCheckUtils]: 16: Hoare triple {2891#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {2891#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:49,324 INFO L290 TraceCheckUtils]: 17: Hoare triple {2891#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2940#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:49,324 INFO L290 TraceCheckUtils]: 18: Hoare triple {2940#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {2940#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:49,325 INFO L272 TraceCheckUtils]: 19: Hoare triple {2940#(<= ~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)); {2940#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:49,325 INFO L290 TraceCheckUtils]: 20: Hoare triple {2940#(<= ~counter~0 1)} ~cond := #in~cond; {2940#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:49,325 INFO L290 TraceCheckUtils]: 21: Hoare triple {2940#(<= ~counter~0 1)} assume !(0 == ~cond); {2940#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:49,326 INFO L290 TraceCheckUtils]: 22: Hoare triple {2940#(<= ~counter~0 1)} assume true; {2940#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:49,326 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2940#(<= ~counter~0 1)} {2940#(<= ~counter~0 1)} #63#return; {2940#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:49,326 INFO L290 TraceCheckUtils]: 24: Hoare triple {2940#(<= ~counter~0 1)} assume !!(0 != ~r~0); {2940#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:49,327 INFO L290 TraceCheckUtils]: 25: Hoare triple {2940#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {2940#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:49,327 INFO L290 TraceCheckUtils]: 26: Hoare triple {2940#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2968#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:49,328 INFO L290 TraceCheckUtils]: 27: Hoare triple {2968#(<= ~counter~0 2)} assume !!(#t~post6 < 10);havoc #t~post6; {2968#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:49,328 INFO L272 TraceCheckUtils]: 28: Hoare triple {2968#(<= ~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)); {2968#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:49,329 INFO L290 TraceCheckUtils]: 29: Hoare triple {2968#(<= ~counter~0 2)} ~cond := #in~cond; {2968#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:49,329 INFO L290 TraceCheckUtils]: 30: Hoare triple {2968#(<= ~counter~0 2)} assume !(0 == ~cond); {2968#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:49,329 INFO L290 TraceCheckUtils]: 31: Hoare triple {2968#(<= ~counter~0 2)} assume true; {2968#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:49,330 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2968#(<= ~counter~0 2)} {2968#(<= ~counter~0 2)} #63#return; {2968#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:49,330 INFO L290 TraceCheckUtils]: 33: Hoare triple {2968#(<= ~counter~0 2)} assume !!(0 != ~r~0); {2968#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:49,330 INFO L290 TraceCheckUtils]: 34: Hoare triple {2968#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {2968#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:49,331 INFO L290 TraceCheckUtils]: 35: Hoare triple {2968#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2996#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:49,331 INFO L290 TraceCheckUtils]: 36: Hoare triple {2996#(<= ~counter~0 3)} assume !!(#t~post6 < 10);havoc #t~post6; {2996#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:49,332 INFO L272 TraceCheckUtils]: 37: Hoare triple {2996#(<= ~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)); {2996#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:49,332 INFO L290 TraceCheckUtils]: 38: Hoare triple {2996#(<= ~counter~0 3)} ~cond := #in~cond; {2996#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:49,332 INFO L290 TraceCheckUtils]: 39: Hoare triple {2996#(<= ~counter~0 3)} assume !(0 == ~cond); {2996#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:49,333 INFO L290 TraceCheckUtils]: 40: Hoare triple {2996#(<= ~counter~0 3)} assume true; {2996#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:49,333 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2996#(<= ~counter~0 3)} {2996#(<= ~counter~0 3)} #63#return; {2996#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:49,333 INFO L290 TraceCheckUtils]: 42: Hoare triple {2996#(<= ~counter~0 3)} assume !!(0 != ~r~0); {2996#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:49,334 INFO L290 TraceCheckUtils]: 43: Hoare triple {2996#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {2996#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:49,334 INFO L290 TraceCheckUtils]: 44: Hoare triple {2996#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3024#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:49,335 INFO L290 TraceCheckUtils]: 45: Hoare triple {3024#(<= ~counter~0 4)} assume !!(#t~post6 < 10);havoc #t~post6; {3024#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:49,335 INFO L272 TraceCheckUtils]: 46: Hoare triple {3024#(<= ~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)); {3024#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:49,336 INFO L290 TraceCheckUtils]: 47: Hoare triple {3024#(<= ~counter~0 4)} ~cond := #in~cond; {3024#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:49,336 INFO L290 TraceCheckUtils]: 48: Hoare triple {3024#(<= ~counter~0 4)} assume !(0 == ~cond); {3024#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:49,336 INFO L290 TraceCheckUtils]: 49: Hoare triple {3024#(<= ~counter~0 4)} assume true; {3024#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:49,337 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3024#(<= ~counter~0 4)} {3024#(<= ~counter~0 4)} #63#return; {3024#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:49,337 INFO L290 TraceCheckUtils]: 51: Hoare triple {3024#(<= ~counter~0 4)} assume !!(0 != ~r~0); {3024#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:49,337 INFO L290 TraceCheckUtils]: 52: Hoare triple {3024#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3024#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:49,338 INFO L290 TraceCheckUtils]: 53: Hoare triple {3024#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3052#(<= |main_#t~post6| 4)} is VALID [2022-04-28 12:40:49,338 INFO L290 TraceCheckUtils]: 54: Hoare triple {3052#(<= |main_#t~post6| 4)} assume !(#t~post6 < 10);havoc #t~post6; {2884#false} is VALID [2022-04-28 12:40:49,338 INFO L272 TraceCheckUtils]: 55: Hoare triple {2884#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)); {2884#false} is VALID [2022-04-28 12:40:49,338 INFO L290 TraceCheckUtils]: 56: Hoare triple {2884#false} ~cond := #in~cond; {2884#false} is VALID [2022-04-28 12:40:49,338 INFO L290 TraceCheckUtils]: 57: Hoare triple {2884#false} assume 0 == ~cond; {2884#false} is VALID [2022-04-28 12:40:49,339 INFO L290 TraceCheckUtils]: 58: Hoare triple {2884#false} assume !false; {2884#false} is VALID [2022-04-28 12:40:49,339 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 8 proven. 62 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:40:49,339 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:40:49,662 INFO L290 TraceCheckUtils]: 58: Hoare triple {2884#false} assume !false; {2884#false} is VALID [2022-04-28 12:40:49,663 INFO L290 TraceCheckUtils]: 57: Hoare triple {2884#false} assume 0 == ~cond; {2884#false} is VALID [2022-04-28 12:40:49,663 INFO L290 TraceCheckUtils]: 56: Hoare triple {2884#false} ~cond := #in~cond; {2884#false} is VALID [2022-04-28 12:40:49,663 INFO L272 TraceCheckUtils]: 55: Hoare triple {2884#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)); {2884#false} is VALID [2022-04-28 12:40:49,663 INFO L290 TraceCheckUtils]: 54: Hoare triple {3080#(< |main_#t~post6| 10)} assume !(#t~post6 < 10);havoc #t~post6; {2884#false} is VALID [2022-04-28 12:40:49,663 INFO L290 TraceCheckUtils]: 53: Hoare triple {3084#(< ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3080#(< |main_#t~post6| 10)} is VALID [2022-04-28 12:40:49,664 INFO L290 TraceCheckUtils]: 52: Hoare triple {3084#(< ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3084#(< ~counter~0 10)} is VALID [2022-04-28 12:40:49,664 INFO L290 TraceCheckUtils]: 51: Hoare triple {3084#(< ~counter~0 10)} assume !!(0 != ~r~0); {3084#(< ~counter~0 10)} is VALID [2022-04-28 12:40:49,665 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2883#true} {3084#(< ~counter~0 10)} #63#return; {3084#(< ~counter~0 10)} is VALID [2022-04-28 12:40:49,665 INFO L290 TraceCheckUtils]: 49: Hoare triple {2883#true} assume true; {2883#true} is VALID [2022-04-28 12:40:49,665 INFO L290 TraceCheckUtils]: 48: Hoare triple {2883#true} assume !(0 == ~cond); {2883#true} is VALID [2022-04-28 12:40:49,665 INFO L290 TraceCheckUtils]: 47: Hoare triple {2883#true} ~cond := #in~cond; {2883#true} is VALID [2022-04-28 12:40:49,665 INFO L272 TraceCheckUtils]: 46: Hoare triple {3084#(< ~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)); {2883#true} is VALID [2022-04-28 12:40:49,665 INFO L290 TraceCheckUtils]: 45: Hoare triple {3084#(< ~counter~0 10)} assume !!(#t~post6 < 10);havoc #t~post6; {3084#(< ~counter~0 10)} is VALID [2022-04-28 12:40:49,666 INFO L290 TraceCheckUtils]: 44: Hoare triple {3112#(< ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3084#(< ~counter~0 10)} is VALID [2022-04-28 12:40:49,666 INFO L290 TraceCheckUtils]: 43: Hoare triple {3112#(< ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3112#(< ~counter~0 9)} is VALID [2022-04-28 12:40:49,666 INFO L290 TraceCheckUtils]: 42: Hoare triple {3112#(< ~counter~0 9)} assume !!(0 != ~r~0); {3112#(< ~counter~0 9)} is VALID [2022-04-28 12:40:49,667 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2883#true} {3112#(< ~counter~0 9)} #63#return; {3112#(< ~counter~0 9)} is VALID [2022-04-28 12:40:49,667 INFO L290 TraceCheckUtils]: 40: Hoare triple {2883#true} assume true; {2883#true} is VALID [2022-04-28 12:40:49,667 INFO L290 TraceCheckUtils]: 39: Hoare triple {2883#true} assume !(0 == ~cond); {2883#true} is VALID [2022-04-28 12:40:49,667 INFO L290 TraceCheckUtils]: 38: Hoare triple {2883#true} ~cond := #in~cond; {2883#true} is VALID [2022-04-28 12:40:49,667 INFO L272 TraceCheckUtils]: 37: Hoare triple {3112#(< ~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)); {2883#true} is VALID [2022-04-28 12:40:49,667 INFO L290 TraceCheckUtils]: 36: Hoare triple {3112#(< ~counter~0 9)} assume !!(#t~post6 < 10);havoc #t~post6; {3112#(< ~counter~0 9)} is VALID [2022-04-28 12:40:49,668 INFO L290 TraceCheckUtils]: 35: Hoare triple {3140#(< ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3112#(< ~counter~0 9)} is VALID [2022-04-28 12:40:49,668 INFO L290 TraceCheckUtils]: 34: Hoare triple {3140#(< ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3140#(< ~counter~0 8)} is VALID [2022-04-28 12:40:49,668 INFO L290 TraceCheckUtils]: 33: Hoare triple {3140#(< ~counter~0 8)} assume !!(0 != ~r~0); {3140#(< ~counter~0 8)} is VALID [2022-04-28 12:40:49,669 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2883#true} {3140#(< ~counter~0 8)} #63#return; {3140#(< ~counter~0 8)} is VALID [2022-04-28 12:40:49,669 INFO L290 TraceCheckUtils]: 31: Hoare triple {2883#true} assume true; {2883#true} is VALID [2022-04-28 12:40:49,669 INFO L290 TraceCheckUtils]: 30: Hoare triple {2883#true} assume !(0 == ~cond); {2883#true} is VALID [2022-04-28 12:40:49,669 INFO L290 TraceCheckUtils]: 29: Hoare triple {2883#true} ~cond := #in~cond; {2883#true} is VALID [2022-04-28 12:40:49,669 INFO L272 TraceCheckUtils]: 28: Hoare triple {3140#(< ~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)); {2883#true} is VALID [2022-04-28 12:40:49,669 INFO L290 TraceCheckUtils]: 27: Hoare triple {3140#(< ~counter~0 8)} assume !!(#t~post6 < 10);havoc #t~post6; {3140#(< ~counter~0 8)} is VALID [2022-04-28 12:40:49,670 INFO L290 TraceCheckUtils]: 26: Hoare triple {3168#(< ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3140#(< ~counter~0 8)} is VALID [2022-04-28 12:40:49,670 INFO L290 TraceCheckUtils]: 25: Hoare triple {3168#(< ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3168#(< ~counter~0 7)} is VALID [2022-04-28 12:40:49,670 INFO L290 TraceCheckUtils]: 24: Hoare triple {3168#(< ~counter~0 7)} assume !!(0 != ~r~0); {3168#(< ~counter~0 7)} is VALID [2022-04-28 12:40:49,671 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2883#true} {3168#(< ~counter~0 7)} #63#return; {3168#(< ~counter~0 7)} is VALID [2022-04-28 12:40:49,671 INFO L290 TraceCheckUtils]: 22: Hoare triple {2883#true} assume true; {2883#true} is VALID [2022-04-28 12:40:49,671 INFO L290 TraceCheckUtils]: 21: Hoare triple {2883#true} assume !(0 == ~cond); {2883#true} is VALID [2022-04-28 12:40:49,671 INFO L290 TraceCheckUtils]: 20: Hoare triple {2883#true} ~cond := #in~cond; {2883#true} is VALID [2022-04-28 12:40:49,671 INFO L272 TraceCheckUtils]: 19: Hoare triple {3168#(< ~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)); {2883#true} is VALID [2022-04-28 12:40:49,673 INFO L290 TraceCheckUtils]: 18: Hoare triple {3168#(< ~counter~0 7)} assume !!(#t~post6 < 10);havoc #t~post6; {3168#(< ~counter~0 7)} is VALID [2022-04-28 12:40:49,673 INFO L290 TraceCheckUtils]: 17: Hoare triple {3196#(< ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3168#(< ~counter~0 7)} is VALID [2022-04-28 12:40:49,673 INFO L290 TraceCheckUtils]: 16: Hoare triple {3196#(< ~counter~0 6)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {3196#(< ~counter~0 6)} is VALID [2022-04-28 12:40:49,674 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2883#true} {3196#(< ~counter~0 6)} #61#return; {3196#(< ~counter~0 6)} is VALID [2022-04-28 12:40:49,674 INFO L290 TraceCheckUtils]: 14: Hoare triple {2883#true} assume true; {2883#true} is VALID [2022-04-28 12:40:49,674 INFO L290 TraceCheckUtils]: 13: Hoare triple {2883#true} assume !(0 == ~cond); {2883#true} is VALID [2022-04-28 12:40:49,674 INFO L290 TraceCheckUtils]: 12: Hoare triple {2883#true} ~cond := #in~cond; {2883#true} is VALID [2022-04-28 12:40:49,674 INFO L272 TraceCheckUtils]: 11: Hoare triple {3196#(< ~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)); {2883#true} is VALID [2022-04-28 12:40:49,675 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2883#true} {3196#(< ~counter~0 6)} #59#return; {3196#(< ~counter~0 6)} is VALID [2022-04-28 12:40:49,675 INFO L290 TraceCheckUtils]: 9: Hoare triple {2883#true} assume true; {2883#true} is VALID [2022-04-28 12:40:49,675 INFO L290 TraceCheckUtils]: 8: Hoare triple {2883#true} assume !(0 == ~cond); {2883#true} is VALID [2022-04-28 12:40:49,675 INFO L290 TraceCheckUtils]: 7: Hoare triple {2883#true} ~cond := #in~cond; {2883#true} is VALID [2022-04-28 12:40:49,675 INFO L272 TraceCheckUtils]: 6: Hoare triple {3196#(< ~counter~0 6)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {2883#true} is VALID [2022-04-28 12:40:49,675 INFO L290 TraceCheckUtils]: 5: Hoare triple {3196#(< ~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; {3196#(< ~counter~0 6)} is VALID [2022-04-28 12:40:49,676 INFO L272 TraceCheckUtils]: 4: Hoare triple {3196#(< ~counter~0 6)} call #t~ret7 := main(); {3196#(< ~counter~0 6)} is VALID [2022-04-28 12:40:49,676 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3196#(< ~counter~0 6)} {2883#true} #67#return; {3196#(< ~counter~0 6)} is VALID [2022-04-28 12:40:49,676 INFO L290 TraceCheckUtils]: 2: Hoare triple {3196#(< ~counter~0 6)} assume true; {3196#(< ~counter~0 6)} is VALID [2022-04-28 12:40:49,677 INFO L290 TraceCheckUtils]: 1: Hoare triple {2883#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; {3196#(< ~counter~0 6)} is VALID [2022-04-28 12:40:49,677 INFO L272 TraceCheckUtils]: 0: Hoare triple {2883#true} call ULTIMATE.init(); {2883#true} is VALID [2022-04-28 12:40:49,677 INFO L134 CoverageAnalysis]: Checked inductivity of 74 backedges. 8 proven. 38 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 12:40:49,677 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:40:49,677 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [583635265] [2022-04-28 12:40:49,677 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:40:49,677 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [866589148] [2022-04-28 12:40:49,678 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [866589148] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:40:49,678 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:40:49,678 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-28 12:40:49,678 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:40:49,678 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1999211689] [2022-04-28 12:40:49,678 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1999211689] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:40:49,678 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:40:49,678 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:40:49,678 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1549506300] [2022-04-28 12:40:49,679 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:40:49,679 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 6 states have call successors, (7) Word has length 59 [2022-04-28 12:40:49,679 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:40:49,679 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 12:40:49,724 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:49,724 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:40:49,724 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:49,724 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:40:49,725 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:40:49,725 INFO L87 Difference]: Start difference. First operand 56 states and 61 transitions. Second operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 12:40:49,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:49,923 INFO L93 Difference]: Finished difference Result 70 states and 76 transitions. [2022-04-28 12:40:49,923 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 12:40:49,923 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 6 states have call successors, (7) Word has length 59 [2022-04-28 12:40:49,924 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:40:49,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 12:40:49,926 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 75 transitions. [2022-04-28 12:40:49,926 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 12:40:49,928 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 75 transitions. [2022-04-28 12:40:49,928 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 75 transitions. [2022-04-28 12:40:49,992 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:49,993 INFO L225 Difference]: With dead ends: 70 [2022-04-28 12:40:49,993 INFO L226 Difference]: Without dead ends: 65 [2022-04-28 12:40:49,994 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 121 GetRequests, 105 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=123, Invalid=183, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:40:49,994 INFO L413 NwaCegarLoop]: 30 mSDtfsCounter, 18 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 24 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 38 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 24 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:40:49,994 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 102 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 24 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:40:49,995 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2022-04-28 12:40:50,057 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 65. [2022-04-28 12:40:50,058 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:40:50,058 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand has 65 states, 47 states have (on average 1.127659574468085) internal successors, (53), 47 states have internal predecessors, (53), 10 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:40:50,058 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand has 65 states, 47 states have (on average 1.127659574468085) internal successors, (53), 47 states have internal predecessors, (53), 10 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:40:50,058 INFO L87 Difference]: Start difference. First operand 65 states. Second operand has 65 states, 47 states have (on average 1.127659574468085) internal successors, (53), 47 states have internal predecessors, (53), 10 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:40:50,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:50,061 INFO L93 Difference]: Finished difference Result 65 states and 71 transitions. [2022-04-28 12:40:50,061 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 71 transitions. [2022-04-28 12:40:50,061 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:50,061 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:50,061 INFO L74 IsIncluded]: Start isIncluded. First operand has 65 states, 47 states have (on average 1.127659574468085) internal successors, (53), 47 states have internal predecessors, (53), 10 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 65 states. [2022-04-28 12:40:50,061 INFO L87 Difference]: Start difference. First operand has 65 states, 47 states have (on average 1.127659574468085) internal successors, (53), 47 states have internal predecessors, (53), 10 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 65 states. [2022-04-28 12:40:50,063 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:50,063 INFO L93 Difference]: Finished difference Result 65 states and 71 transitions. [2022-04-28 12:40:50,063 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 71 transitions. [2022-04-28 12:40:50,064 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:50,064 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:50,064 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:40:50,064 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:40:50,064 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 47 states have (on average 1.127659574468085) internal successors, (53), 47 states have internal predecessors, (53), 10 states have call successors, (10), 9 states have call predecessors, (10), 7 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 12:40:50,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 71 transitions. [2022-04-28 12:40:50,066 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 71 transitions. Word has length 59 [2022-04-28 12:40:50,066 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:40:50,066 INFO L495 AbstractCegarLoop]: Abstraction has 65 states and 71 transitions. [2022-04-28 12:40:50,067 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (9), 7 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 6 states have call successors, (7) [2022-04-28 12:40:50,067 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 65 states and 71 transitions. [2022-04-28 12:40:50,931 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:50,931 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 71 transitions. [2022-04-28 12:40:50,932 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-28 12:40:50,932 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:40:50,932 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 5, 5, 5, 5, 5, 5, 5, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:40:50,957 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-28 12:40:51,151 WARN L477 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-28 12:40:51,151 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:40:51,152 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:40:51,152 INFO L85 PathProgramCache]: Analyzing trace with hash -1512407140, now seen corresponding path program 9 times [2022-04-28 12:40:51,152 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:51,152 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [894129883] [2022-04-28 12:40:51,152 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:40:51,152 INFO L85 PathProgramCache]: Analyzing trace with hash -1512407140, now seen corresponding path program 10 times [2022-04-28 12:40:51,153 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:40:51,153 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2002430400] [2022-04-28 12:40:51,153 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:40:51,153 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:40:51,166 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:40:51,166 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [871656571] [2022-04-28 12:40:51,166 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:40:51,166 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:40:51,166 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:40:51,167 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-28 12:40:51,183 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-28 12:40:51,312 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:40:51,312 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:40:51,313 INFO L263 TraceCheckSpWp]: Trace formula consists of 193 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 12:40:51,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:40:51,329 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:40:51,669 INFO L272 TraceCheckUtils]: 0: Hoare triple {3658#true} call ULTIMATE.init(); {3658#true} is VALID [2022-04-28 12:40:51,670 INFO L290 TraceCheckUtils]: 1: Hoare triple {3658#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; {3666#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:51,670 INFO L290 TraceCheckUtils]: 2: Hoare triple {3666#(<= ~counter~0 0)} assume true; {3666#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:51,670 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3666#(<= ~counter~0 0)} {3658#true} #67#return; {3666#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:51,671 INFO L272 TraceCheckUtils]: 4: Hoare triple {3666#(<= ~counter~0 0)} call #t~ret7 := main(); {3666#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:51,671 INFO L290 TraceCheckUtils]: 5: Hoare triple {3666#(<= ~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; {3666#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:51,671 INFO L272 TraceCheckUtils]: 6: Hoare triple {3666#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {3666#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:51,672 INFO L290 TraceCheckUtils]: 7: Hoare triple {3666#(<= ~counter~0 0)} ~cond := #in~cond; {3666#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:51,672 INFO L290 TraceCheckUtils]: 8: Hoare triple {3666#(<= ~counter~0 0)} assume !(0 == ~cond); {3666#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:51,672 INFO L290 TraceCheckUtils]: 9: Hoare triple {3666#(<= ~counter~0 0)} assume true; {3666#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:51,673 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3666#(<= ~counter~0 0)} {3666#(<= ~counter~0 0)} #59#return; {3666#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:51,673 INFO L272 TraceCheckUtils]: 11: Hoare triple {3666#(<= ~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)); {3666#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:51,673 INFO L290 TraceCheckUtils]: 12: Hoare triple {3666#(<= ~counter~0 0)} ~cond := #in~cond; {3666#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:51,674 INFO L290 TraceCheckUtils]: 13: Hoare triple {3666#(<= ~counter~0 0)} assume !(0 == ~cond); {3666#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:51,674 INFO L290 TraceCheckUtils]: 14: Hoare triple {3666#(<= ~counter~0 0)} assume true; {3666#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:51,674 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3666#(<= ~counter~0 0)} {3666#(<= ~counter~0 0)} #61#return; {3666#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:51,675 INFO L290 TraceCheckUtils]: 16: Hoare triple {3666#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {3666#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:51,676 INFO L290 TraceCheckUtils]: 17: Hoare triple {3666#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3715#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:51,676 INFO L290 TraceCheckUtils]: 18: Hoare triple {3715#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {3715#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:51,677 INFO L272 TraceCheckUtils]: 19: Hoare triple {3715#(<= ~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)); {3715#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:51,677 INFO L290 TraceCheckUtils]: 20: Hoare triple {3715#(<= ~counter~0 1)} ~cond := #in~cond; {3715#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:51,678 INFO L290 TraceCheckUtils]: 21: Hoare triple {3715#(<= ~counter~0 1)} assume !(0 == ~cond); {3715#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:51,678 INFO L290 TraceCheckUtils]: 22: Hoare triple {3715#(<= ~counter~0 1)} assume true; {3715#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:51,679 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3715#(<= ~counter~0 1)} {3715#(<= ~counter~0 1)} #63#return; {3715#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:51,679 INFO L290 TraceCheckUtils]: 24: Hoare triple {3715#(<= ~counter~0 1)} assume !!(0 != ~r~0); {3715#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:51,679 INFO L290 TraceCheckUtils]: 25: Hoare triple {3715#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3715#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:51,680 INFO L290 TraceCheckUtils]: 26: Hoare triple {3715#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3743#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:51,680 INFO L290 TraceCheckUtils]: 27: Hoare triple {3743#(<= ~counter~0 2)} assume !!(#t~post6 < 10);havoc #t~post6; {3743#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:51,680 INFO L272 TraceCheckUtils]: 28: Hoare triple {3743#(<= ~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)); {3743#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:51,681 INFO L290 TraceCheckUtils]: 29: Hoare triple {3743#(<= ~counter~0 2)} ~cond := #in~cond; {3743#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:51,681 INFO L290 TraceCheckUtils]: 30: Hoare triple {3743#(<= ~counter~0 2)} assume !(0 == ~cond); {3743#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:51,682 INFO L290 TraceCheckUtils]: 31: Hoare triple {3743#(<= ~counter~0 2)} assume true; {3743#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:51,682 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3743#(<= ~counter~0 2)} {3743#(<= ~counter~0 2)} #63#return; {3743#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:51,682 INFO L290 TraceCheckUtils]: 33: Hoare triple {3743#(<= ~counter~0 2)} assume !!(0 != ~r~0); {3743#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:51,683 INFO L290 TraceCheckUtils]: 34: Hoare triple {3743#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3743#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:51,683 INFO L290 TraceCheckUtils]: 35: Hoare triple {3743#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3771#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:51,683 INFO L290 TraceCheckUtils]: 36: Hoare triple {3771#(<= ~counter~0 3)} assume !!(#t~post6 < 10);havoc #t~post6; {3771#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:51,684 INFO L272 TraceCheckUtils]: 37: Hoare triple {3771#(<= ~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)); {3771#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:51,684 INFO L290 TraceCheckUtils]: 38: Hoare triple {3771#(<= ~counter~0 3)} ~cond := #in~cond; {3771#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:51,684 INFO L290 TraceCheckUtils]: 39: Hoare triple {3771#(<= ~counter~0 3)} assume !(0 == ~cond); {3771#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:51,685 INFO L290 TraceCheckUtils]: 40: Hoare triple {3771#(<= ~counter~0 3)} assume true; {3771#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:51,685 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3771#(<= ~counter~0 3)} {3771#(<= ~counter~0 3)} #63#return; {3771#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:51,686 INFO L290 TraceCheckUtils]: 42: Hoare triple {3771#(<= ~counter~0 3)} assume !!(0 != ~r~0); {3771#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:51,687 INFO L290 TraceCheckUtils]: 43: Hoare triple {3771#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3771#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:51,688 INFO L290 TraceCheckUtils]: 44: Hoare triple {3771#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3799#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:51,688 INFO L290 TraceCheckUtils]: 45: Hoare triple {3799#(<= ~counter~0 4)} assume !!(#t~post6 < 10);havoc #t~post6; {3799#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:51,689 INFO L272 TraceCheckUtils]: 46: Hoare triple {3799#(<= ~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)); {3799#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:51,689 INFO L290 TraceCheckUtils]: 47: Hoare triple {3799#(<= ~counter~0 4)} ~cond := #in~cond; {3799#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:51,690 INFO L290 TraceCheckUtils]: 48: Hoare triple {3799#(<= ~counter~0 4)} assume !(0 == ~cond); {3799#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:51,690 INFO L290 TraceCheckUtils]: 49: Hoare triple {3799#(<= ~counter~0 4)} assume true; {3799#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:51,691 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3799#(<= ~counter~0 4)} {3799#(<= ~counter~0 4)} #63#return; {3799#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:51,691 INFO L290 TraceCheckUtils]: 51: Hoare triple {3799#(<= ~counter~0 4)} assume !!(0 != ~r~0); {3799#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:51,691 INFO L290 TraceCheckUtils]: 52: Hoare triple {3799#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3799#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:51,692 INFO L290 TraceCheckUtils]: 53: Hoare triple {3799#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3827#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:51,692 INFO L290 TraceCheckUtils]: 54: Hoare triple {3827#(<= ~counter~0 5)} assume !!(#t~post6 < 10);havoc #t~post6; {3827#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:51,693 INFO L272 TraceCheckUtils]: 55: Hoare triple {3827#(<= ~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)); {3827#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:51,693 INFO L290 TraceCheckUtils]: 56: Hoare triple {3827#(<= ~counter~0 5)} ~cond := #in~cond; {3827#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:51,695 INFO L290 TraceCheckUtils]: 57: Hoare triple {3827#(<= ~counter~0 5)} assume !(0 == ~cond); {3827#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:51,695 INFO L290 TraceCheckUtils]: 58: Hoare triple {3827#(<= ~counter~0 5)} assume true; {3827#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:51,696 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {3827#(<= ~counter~0 5)} {3827#(<= ~counter~0 5)} #63#return; {3827#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:51,696 INFO L290 TraceCheckUtils]: 60: Hoare triple {3827#(<= ~counter~0 5)} assume !!(0 != ~r~0); {3827#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:51,696 INFO L290 TraceCheckUtils]: 61: Hoare triple {3827#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3827#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:51,697 INFO L290 TraceCheckUtils]: 62: Hoare triple {3827#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3855#(<= |main_#t~post6| 5)} is VALID [2022-04-28 12:40:51,697 INFO L290 TraceCheckUtils]: 63: Hoare triple {3855#(<= |main_#t~post6| 5)} assume !(#t~post6 < 10);havoc #t~post6; {3659#false} is VALID [2022-04-28 12:40:51,697 INFO L272 TraceCheckUtils]: 64: Hoare triple {3659#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)); {3659#false} is VALID [2022-04-28 12:40:51,697 INFO L290 TraceCheckUtils]: 65: Hoare triple {3659#false} ~cond := #in~cond; {3659#false} is VALID [2022-04-28 12:40:51,698 INFO L290 TraceCheckUtils]: 66: Hoare triple {3659#false} assume 0 == ~cond; {3659#false} is VALID [2022-04-28 12:40:51,698 INFO L290 TraceCheckUtils]: 67: Hoare triple {3659#false} assume !false; {3659#false} is VALID [2022-04-28 12:40:51,698 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 10 proven. 100 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:40:51,698 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:40:52,088 INFO L290 TraceCheckUtils]: 67: Hoare triple {3659#false} assume !false; {3659#false} is VALID [2022-04-28 12:40:52,088 INFO L290 TraceCheckUtils]: 66: Hoare triple {3659#false} assume 0 == ~cond; {3659#false} is VALID [2022-04-28 12:40:52,088 INFO L290 TraceCheckUtils]: 65: Hoare triple {3659#false} ~cond := #in~cond; {3659#false} is VALID [2022-04-28 12:40:52,088 INFO L272 TraceCheckUtils]: 64: Hoare triple {3659#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)); {3659#false} is VALID [2022-04-28 12:40:52,089 INFO L290 TraceCheckUtils]: 63: Hoare triple {3883#(< |main_#t~post6| 10)} assume !(#t~post6 < 10);havoc #t~post6; {3659#false} is VALID [2022-04-28 12:40:52,089 INFO L290 TraceCheckUtils]: 62: Hoare triple {3887#(< ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3883#(< |main_#t~post6| 10)} is VALID [2022-04-28 12:40:52,090 INFO L290 TraceCheckUtils]: 61: Hoare triple {3887#(< ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3887#(< ~counter~0 10)} is VALID [2022-04-28 12:40:52,090 INFO L290 TraceCheckUtils]: 60: Hoare triple {3887#(< ~counter~0 10)} assume !!(0 != ~r~0); {3887#(< ~counter~0 10)} is VALID [2022-04-28 12:40:52,091 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {3658#true} {3887#(< ~counter~0 10)} #63#return; {3887#(< ~counter~0 10)} is VALID [2022-04-28 12:40:52,091 INFO L290 TraceCheckUtils]: 58: Hoare triple {3658#true} assume true; {3658#true} is VALID [2022-04-28 12:40:52,091 INFO L290 TraceCheckUtils]: 57: Hoare triple {3658#true} assume !(0 == ~cond); {3658#true} is VALID [2022-04-28 12:40:52,091 INFO L290 TraceCheckUtils]: 56: Hoare triple {3658#true} ~cond := #in~cond; {3658#true} is VALID [2022-04-28 12:40:52,091 INFO L272 TraceCheckUtils]: 55: Hoare triple {3887#(< ~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)); {3658#true} is VALID [2022-04-28 12:40:52,091 INFO L290 TraceCheckUtils]: 54: Hoare triple {3887#(< ~counter~0 10)} assume !!(#t~post6 < 10);havoc #t~post6; {3887#(< ~counter~0 10)} is VALID [2022-04-28 12:40:52,092 INFO L290 TraceCheckUtils]: 53: Hoare triple {3915#(< ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3887#(< ~counter~0 10)} is VALID [2022-04-28 12:40:52,092 INFO L290 TraceCheckUtils]: 52: Hoare triple {3915#(< ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3915#(< ~counter~0 9)} is VALID [2022-04-28 12:40:52,093 INFO L290 TraceCheckUtils]: 51: Hoare triple {3915#(< ~counter~0 9)} assume !!(0 != ~r~0); {3915#(< ~counter~0 9)} is VALID [2022-04-28 12:40:52,093 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3658#true} {3915#(< ~counter~0 9)} #63#return; {3915#(< ~counter~0 9)} is VALID [2022-04-28 12:40:52,095 INFO L290 TraceCheckUtils]: 49: Hoare triple {3658#true} assume true; {3658#true} is VALID [2022-04-28 12:40:52,095 INFO L290 TraceCheckUtils]: 48: Hoare triple {3658#true} assume !(0 == ~cond); {3658#true} is VALID [2022-04-28 12:40:52,095 INFO L290 TraceCheckUtils]: 47: Hoare triple {3658#true} ~cond := #in~cond; {3658#true} is VALID [2022-04-28 12:40:52,095 INFO L272 TraceCheckUtils]: 46: Hoare triple {3915#(< ~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)); {3658#true} is VALID [2022-04-28 12:40:52,096 INFO L290 TraceCheckUtils]: 45: Hoare triple {3915#(< ~counter~0 9)} assume !!(#t~post6 < 10);havoc #t~post6; {3915#(< ~counter~0 9)} is VALID [2022-04-28 12:40:52,096 INFO L290 TraceCheckUtils]: 44: Hoare triple {3943#(< ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3915#(< ~counter~0 9)} is VALID [2022-04-28 12:40:52,097 INFO L290 TraceCheckUtils]: 43: Hoare triple {3943#(< ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3943#(< ~counter~0 8)} is VALID [2022-04-28 12:40:52,097 INFO L290 TraceCheckUtils]: 42: Hoare triple {3943#(< ~counter~0 8)} assume !!(0 != ~r~0); {3943#(< ~counter~0 8)} is VALID [2022-04-28 12:40:52,098 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3658#true} {3943#(< ~counter~0 8)} #63#return; {3943#(< ~counter~0 8)} is VALID [2022-04-28 12:40:52,098 INFO L290 TraceCheckUtils]: 40: Hoare triple {3658#true} assume true; {3658#true} is VALID [2022-04-28 12:40:52,098 INFO L290 TraceCheckUtils]: 39: Hoare triple {3658#true} assume !(0 == ~cond); {3658#true} is VALID [2022-04-28 12:40:52,098 INFO L290 TraceCheckUtils]: 38: Hoare triple {3658#true} ~cond := #in~cond; {3658#true} is VALID [2022-04-28 12:40:52,098 INFO L272 TraceCheckUtils]: 37: Hoare triple {3943#(< ~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)); {3658#true} is VALID [2022-04-28 12:40:52,098 INFO L290 TraceCheckUtils]: 36: Hoare triple {3943#(< ~counter~0 8)} assume !!(#t~post6 < 10);havoc #t~post6; {3943#(< ~counter~0 8)} is VALID [2022-04-28 12:40:52,099 INFO L290 TraceCheckUtils]: 35: Hoare triple {3971#(< ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3943#(< ~counter~0 8)} is VALID [2022-04-28 12:40:52,099 INFO L290 TraceCheckUtils]: 34: Hoare triple {3971#(< ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3971#(< ~counter~0 7)} is VALID [2022-04-28 12:40:52,100 INFO L290 TraceCheckUtils]: 33: Hoare triple {3971#(< ~counter~0 7)} assume !!(0 != ~r~0); {3971#(< ~counter~0 7)} is VALID [2022-04-28 12:40:52,100 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3658#true} {3971#(< ~counter~0 7)} #63#return; {3971#(< ~counter~0 7)} is VALID [2022-04-28 12:40:52,100 INFO L290 TraceCheckUtils]: 31: Hoare triple {3658#true} assume true; {3658#true} is VALID [2022-04-28 12:40:52,100 INFO L290 TraceCheckUtils]: 30: Hoare triple {3658#true} assume !(0 == ~cond); {3658#true} is VALID [2022-04-28 12:40:52,101 INFO L290 TraceCheckUtils]: 29: Hoare triple {3658#true} ~cond := #in~cond; {3658#true} is VALID [2022-04-28 12:40:52,101 INFO L272 TraceCheckUtils]: 28: Hoare triple {3971#(< ~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)); {3658#true} is VALID [2022-04-28 12:40:52,101 INFO L290 TraceCheckUtils]: 27: Hoare triple {3971#(< ~counter~0 7)} assume !!(#t~post6 < 10);havoc #t~post6; {3971#(< ~counter~0 7)} is VALID [2022-04-28 12:40:52,101 INFO L290 TraceCheckUtils]: 26: Hoare triple {3827#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3971#(< ~counter~0 7)} is VALID [2022-04-28 12:40:52,102 INFO L290 TraceCheckUtils]: 25: Hoare triple {3827#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {3827#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:52,102 INFO L290 TraceCheckUtils]: 24: Hoare triple {3827#(<= ~counter~0 5)} assume !!(0 != ~r~0); {3827#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:52,103 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3658#true} {3827#(<= ~counter~0 5)} #63#return; {3827#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:52,103 INFO L290 TraceCheckUtils]: 22: Hoare triple {3658#true} assume true; {3658#true} is VALID [2022-04-28 12:40:52,103 INFO L290 TraceCheckUtils]: 21: Hoare triple {3658#true} assume !(0 == ~cond); {3658#true} is VALID [2022-04-28 12:40:52,103 INFO L290 TraceCheckUtils]: 20: Hoare triple {3658#true} ~cond := #in~cond; {3658#true} is VALID [2022-04-28 12:40:52,103 INFO L272 TraceCheckUtils]: 19: Hoare triple {3827#(<= ~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)); {3658#true} is VALID [2022-04-28 12:40:52,103 INFO L290 TraceCheckUtils]: 18: Hoare triple {3827#(<= ~counter~0 5)} assume !!(#t~post6 < 10);havoc #t~post6; {3827#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:52,104 INFO L290 TraceCheckUtils]: 17: Hoare triple {3799#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3827#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:52,104 INFO L290 TraceCheckUtils]: 16: Hoare triple {3799#(<= ~counter~0 4)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {3799#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:52,105 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3658#true} {3799#(<= ~counter~0 4)} #61#return; {3799#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:52,105 INFO L290 TraceCheckUtils]: 14: Hoare triple {3658#true} assume true; {3658#true} is VALID [2022-04-28 12:40:52,105 INFO L290 TraceCheckUtils]: 13: Hoare triple {3658#true} assume !(0 == ~cond); {3658#true} is VALID [2022-04-28 12:40:52,105 INFO L290 TraceCheckUtils]: 12: Hoare triple {3658#true} ~cond := #in~cond; {3658#true} is VALID [2022-04-28 12:40:52,105 INFO L272 TraceCheckUtils]: 11: Hoare triple {3799#(<= ~counter~0 4)} 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)); {3658#true} is VALID [2022-04-28 12:40:52,106 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3658#true} {3799#(<= ~counter~0 4)} #59#return; {3799#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:52,106 INFO L290 TraceCheckUtils]: 9: Hoare triple {3658#true} assume true; {3658#true} is VALID [2022-04-28 12:40:52,106 INFO L290 TraceCheckUtils]: 8: Hoare triple {3658#true} assume !(0 == ~cond); {3658#true} is VALID [2022-04-28 12:40:52,106 INFO L290 TraceCheckUtils]: 7: Hoare triple {3658#true} ~cond := #in~cond; {3658#true} is VALID [2022-04-28 12:40:52,106 INFO L272 TraceCheckUtils]: 6: Hoare triple {3799#(<= ~counter~0 4)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {3658#true} is VALID [2022-04-28 12:40:52,106 INFO L290 TraceCheckUtils]: 5: Hoare triple {3799#(<= ~counter~0 4)} 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; {3799#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:52,107 INFO L272 TraceCheckUtils]: 4: Hoare triple {3799#(<= ~counter~0 4)} call #t~ret7 := main(); {3799#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:52,107 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3799#(<= ~counter~0 4)} {3658#true} #67#return; {3799#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:52,108 INFO L290 TraceCheckUtils]: 2: Hoare triple {3799#(<= ~counter~0 4)} assume true; {3799#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:52,108 INFO L290 TraceCheckUtils]: 1: Hoare triple {3658#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; {3799#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:52,108 INFO L272 TraceCheckUtils]: 0: Hoare triple {3658#true} call ULTIMATE.init(); {3658#true} is VALID [2022-04-28 12:40:52,109 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 10 proven. 60 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-28 12:40:52,109 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:40:52,109 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2002430400] [2022-04-28 12:40:52,109 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:40:52,109 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [871656571] [2022-04-28 12:40:52,109 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [871656571] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:40:52,109 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:40:52,109 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-28 12:40:52,109 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:40:52,110 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [894129883] [2022-04-28 12:40:52,110 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [894129883] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:40:52,110 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:40:52,110 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:40:52,110 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [261171560] [2022-04-28 12:40:52,110 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:40:52,111 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 8 states have internal predecessors, (47), 8 states have call successors, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 6 states have call predecessors, (8), 7 states have call successors, (8) Word has length 68 [2022-04-28 12:40:52,111 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:40:52,112 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 8 states have internal predecessors, (47), 8 states have call successors, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 6 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 12:40:52,156 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:52,156 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:40:52,156 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:52,157 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:40:52,157 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:40:52,157 INFO L87 Difference]: Start difference. First operand 65 states and 71 transitions. Second operand has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 8 states have internal predecessors, (47), 8 states have call successors, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 6 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 12:40:52,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:52,406 INFO L93 Difference]: Finished difference Result 79 states and 86 transitions. [2022-04-28 12:40:52,406 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 12:40:52,406 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 8 states have internal predecessors, (47), 8 states have call successors, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 6 states have call predecessors, (8), 7 states have call successors, (8) Word has length 68 [2022-04-28 12:40:52,408 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:40:52,409 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 8 states have internal predecessors, (47), 8 states have call successors, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 6 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 12:40:52,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 85 transitions. [2022-04-28 12:40:52,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 8 states have internal predecessors, (47), 8 states have call successors, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 6 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 12:40:52,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 85 transitions. [2022-04-28 12:40:52,421 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 85 transitions. [2022-04-28 12:40:52,494 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:52,495 INFO L225 Difference]: With dead ends: 79 [2022-04-28 12:40:52,495 INFO L226 Difference]: Without dead ends: 74 [2022-04-28 12:40:52,496 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 140 GetRequests, 122 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=136, Invalid=206, Unknown=0, NotChecked=0, Total=342 [2022-04-28 12:40:52,498 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 21 mSDsluCounter, 79 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 110 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:40:52,498 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 110 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:40:52,499 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-28 12:40:52,586 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2022-04-28 12:40:52,586 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:40:52,587 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 74 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 54 states have internal predecessors, (61), 11 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:40:52,587 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 74 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 54 states have internal predecessors, (61), 11 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:40:52,587 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 74 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 54 states have internal predecessors, (61), 11 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:40:52,590 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:52,590 INFO L93 Difference]: Finished difference Result 74 states and 81 transitions. [2022-04-28 12:40:52,590 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 81 transitions. [2022-04-28 12:40:52,590 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:52,590 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:52,590 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 54 states have internal predecessors, (61), 11 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 74 states. [2022-04-28 12:40:52,591 INFO L87 Difference]: Start difference. First operand has 74 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 54 states have internal predecessors, (61), 11 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 74 states. [2022-04-28 12:40:52,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:52,592 INFO L93 Difference]: Finished difference Result 74 states and 81 transitions. [2022-04-28 12:40:52,592 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 81 transitions. [2022-04-28 12:40:52,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:52,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:52,593 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:40:52,593 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:40:52,593 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 54 states have (on average 1.1296296296296295) internal successors, (61), 54 states have internal predecessors, (61), 11 states have call successors, (11), 10 states have call predecessors, (11), 8 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 12:40:52,594 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 81 transitions. [2022-04-28 12:40:52,595 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 81 transitions. Word has length 68 [2022-04-28 12:40:52,595 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:40:52,595 INFO L495 AbstractCegarLoop]: Abstraction has 74 states and 81 transitions. [2022-04-28 12:40:52,595 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 8 states have internal predecessors, (47), 8 states have call successors, (10), 8 states have call predecessors, (10), 6 states have return successors, (8), 6 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 12:40:52,595 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 81 transitions. [2022-04-28 12:40:54,694 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 80 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:54,694 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 81 transitions. [2022-04-28 12:40:54,695 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-04-28 12:40:54,695 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:40:54,695 INFO L195 NwaCegarLoop]: trace histogram [7, 7, 6, 6, 6, 6, 6, 6, 6, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:40:54,711 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-28 12:40:54,895 WARN L477 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-28 12:40:54,896 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:40:54,896 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:40:54,896 INFO L85 PathProgramCache]: Analyzing trace with hash 771706710, now seen corresponding path program 11 times [2022-04-28 12:40:54,896 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:54,896 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [100215447] [2022-04-28 12:40:54,897 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:40:54,897 INFO L85 PathProgramCache]: Analyzing trace with hash 771706710, now seen corresponding path program 12 times [2022-04-28 12:40:54,897 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:40:54,897 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1121982698] [2022-04-28 12:40:54,897 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:40:54,897 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:40:54,915 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:40:54,915 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [27969064] [2022-04-28 12:40:54,915 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:40:54,915 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:40:54,915 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:40:54,916 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-28 12:40:54,929 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-28 12:40:55,065 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 12:40:55,065 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:40:55,066 INFO L263 TraceCheckSpWp]: Trace formula consists of 213 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 12:40:55,095 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:40:55,096 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:40:55,553 INFO L272 TraceCheckUtils]: 0: Hoare triple {4543#true} call ULTIMATE.init(); {4543#true} is VALID [2022-04-28 12:40:55,554 INFO L290 TraceCheckUtils]: 1: Hoare triple {4543#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; {4551#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:55,554 INFO L290 TraceCheckUtils]: 2: Hoare triple {4551#(<= ~counter~0 0)} assume true; {4551#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:55,554 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4551#(<= ~counter~0 0)} {4543#true} #67#return; {4551#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:55,555 INFO L272 TraceCheckUtils]: 4: Hoare triple {4551#(<= ~counter~0 0)} call #t~ret7 := main(); {4551#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:55,555 INFO L290 TraceCheckUtils]: 5: Hoare triple {4551#(<= ~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; {4551#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:55,555 INFO L272 TraceCheckUtils]: 6: Hoare triple {4551#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {4551#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:55,556 INFO L290 TraceCheckUtils]: 7: Hoare triple {4551#(<= ~counter~0 0)} ~cond := #in~cond; {4551#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:55,556 INFO L290 TraceCheckUtils]: 8: Hoare triple {4551#(<= ~counter~0 0)} assume !(0 == ~cond); {4551#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:55,556 INFO L290 TraceCheckUtils]: 9: Hoare triple {4551#(<= ~counter~0 0)} assume true; {4551#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:55,557 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4551#(<= ~counter~0 0)} {4551#(<= ~counter~0 0)} #59#return; {4551#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:55,557 INFO L272 TraceCheckUtils]: 11: Hoare triple {4551#(<= ~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)); {4551#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:55,557 INFO L290 TraceCheckUtils]: 12: Hoare triple {4551#(<= ~counter~0 0)} ~cond := #in~cond; {4551#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:55,557 INFO L290 TraceCheckUtils]: 13: Hoare triple {4551#(<= ~counter~0 0)} assume !(0 == ~cond); {4551#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:55,558 INFO L290 TraceCheckUtils]: 14: Hoare triple {4551#(<= ~counter~0 0)} assume true; {4551#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:55,558 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4551#(<= ~counter~0 0)} {4551#(<= ~counter~0 0)} #61#return; {4551#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:55,558 INFO L290 TraceCheckUtils]: 16: Hoare triple {4551#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {4551#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:55,559 INFO L290 TraceCheckUtils]: 17: Hoare triple {4551#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4600#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:55,559 INFO L290 TraceCheckUtils]: 18: Hoare triple {4600#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {4600#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:55,560 INFO L272 TraceCheckUtils]: 19: Hoare triple {4600#(<= ~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)); {4600#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:55,560 INFO L290 TraceCheckUtils]: 20: Hoare triple {4600#(<= ~counter~0 1)} ~cond := #in~cond; {4600#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:55,560 INFO L290 TraceCheckUtils]: 21: Hoare triple {4600#(<= ~counter~0 1)} assume !(0 == ~cond); {4600#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:55,560 INFO L290 TraceCheckUtils]: 22: Hoare triple {4600#(<= ~counter~0 1)} assume true; {4600#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:55,561 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4600#(<= ~counter~0 1)} {4600#(<= ~counter~0 1)} #63#return; {4600#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:55,561 INFO L290 TraceCheckUtils]: 24: Hoare triple {4600#(<= ~counter~0 1)} assume !!(0 != ~r~0); {4600#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:55,562 INFO L290 TraceCheckUtils]: 25: Hoare triple {4600#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4600#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:55,563 INFO L290 TraceCheckUtils]: 26: Hoare triple {4600#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4628#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:55,564 INFO L290 TraceCheckUtils]: 27: Hoare triple {4628#(<= ~counter~0 2)} assume !!(#t~post6 < 10);havoc #t~post6; {4628#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:55,564 INFO L272 TraceCheckUtils]: 28: Hoare triple {4628#(<= ~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)); {4628#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:55,565 INFO L290 TraceCheckUtils]: 29: Hoare triple {4628#(<= ~counter~0 2)} ~cond := #in~cond; {4628#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:55,565 INFO L290 TraceCheckUtils]: 30: Hoare triple {4628#(<= ~counter~0 2)} assume !(0 == ~cond); {4628#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:55,566 INFO L290 TraceCheckUtils]: 31: Hoare triple {4628#(<= ~counter~0 2)} assume true; {4628#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:55,566 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4628#(<= ~counter~0 2)} {4628#(<= ~counter~0 2)} #63#return; {4628#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:55,567 INFO L290 TraceCheckUtils]: 33: Hoare triple {4628#(<= ~counter~0 2)} assume !!(0 != ~r~0); {4628#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:55,567 INFO L290 TraceCheckUtils]: 34: Hoare triple {4628#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4628#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:55,568 INFO L290 TraceCheckUtils]: 35: Hoare triple {4628#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4656#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:55,568 INFO L290 TraceCheckUtils]: 36: Hoare triple {4656#(<= ~counter~0 3)} assume !!(#t~post6 < 10);havoc #t~post6; {4656#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:55,569 INFO L272 TraceCheckUtils]: 37: Hoare triple {4656#(<= ~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)); {4656#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:55,569 INFO L290 TraceCheckUtils]: 38: Hoare triple {4656#(<= ~counter~0 3)} ~cond := #in~cond; {4656#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:55,570 INFO L290 TraceCheckUtils]: 39: Hoare triple {4656#(<= ~counter~0 3)} assume !(0 == ~cond); {4656#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:55,570 INFO L290 TraceCheckUtils]: 40: Hoare triple {4656#(<= ~counter~0 3)} assume true; {4656#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:55,571 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4656#(<= ~counter~0 3)} {4656#(<= ~counter~0 3)} #63#return; {4656#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:55,571 INFO L290 TraceCheckUtils]: 42: Hoare triple {4656#(<= ~counter~0 3)} assume !!(0 != ~r~0); {4656#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:55,572 INFO L290 TraceCheckUtils]: 43: Hoare triple {4656#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4656#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:55,572 INFO L290 TraceCheckUtils]: 44: Hoare triple {4656#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4684#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:55,572 INFO L290 TraceCheckUtils]: 45: Hoare triple {4684#(<= ~counter~0 4)} assume !!(#t~post6 < 10);havoc #t~post6; {4684#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:55,573 INFO L272 TraceCheckUtils]: 46: Hoare triple {4684#(<= ~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)); {4684#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:55,574 INFO L290 TraceCheckUtils]: 47: Hoare triple {4684#(<= ~counter~0 4)} ~cond := #in~cond; {4684#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:55,574 INFO L290 TraceCheckUtils]: 48: Hoare triple {4684#(<= ~counter~0 4)} assume !(0 == ~cond); {4684#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:55,574 INFO L290 TraceCheckUtils]: 49: Hoare triple {4684#(<= ~counter~0 4)} assume true; {4684#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:55,575 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4684#(<= ~counter~0 4)} {4684#(<= ~counter~0 4)} #63#return; {4684#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:55,576 INFO L290 TraceCheckUtils]: 51: Hoare triple {4684#(<= ~counter~0 4)} assume !!(0 != ~r~0); {4684#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:55,576 INFO L290 TraceCheckUtils]: 52: Hoare triple {4684#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4684#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:55,576 INFO L290 TraceCheckUtils]: 53: Hoare triple {4684#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4712#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:55,577 INFO L290 TraceCheckUtils]: 54: Hoare triple {4712#(<= ~counter~0 5)} assume !!(#t~post6 < 10);havoc #t~post6; {4712#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:55,578 INFO L272 TraceCheckUtils]: 55: Hoare triple {4712#(<= ~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)); {4712#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:55,578 INFO L290 TraceCheckUtils]: 56: Hoare triple {4712#(<= ~counter~0 5)} ~cond := #in~cond; {4712#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:55,578 INFO L290 TraceCheckUtils]: 57: Hoare triple {4712#(<= ~counter~0 5)} assume !(0 == ~cond); {4712#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:55,579 INFO L290 TraceCheckUtils]: 58: Hoare triple {4712#(<= ~counter~0 5)} assume true; {4712#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:55,579 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {4712#(<= ~counter~0 5)} {4712#(<= ~counter~0 5)} #63#return; {4712#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:55,580 INFO L290 TraceCheckUtils]: 60: Hoare triple {4712#(<= ~counter~0 5)} assume !!(0 != ~r~0); {4712#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:55,580 INFO L290 TraceCheckUtils]: 61: Hoare triple {4712#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4712#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:55,581 INFO L290 TraceCheckUtils]: 62: Hoare triple {4712#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4740#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:55,581 INFO L290 TraceCheckUtils]: 63: Hoare triple {4740#(<= ~counter~0 6)} assume !!(#t~post6 < 10);havoc #t~post6; {4740#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:55,582 INFO L272 TraceCheckUtils]: 64: Hoare triple {4740#(<= ~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)); {4740#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:55,582 INFO L290 TraceCheckUtils]: 65: Hoare triple {4740#(<= ~counter~0 6)} ~cond := #in~cond; {4740#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:55,582 INFO L290 TraceCheckUtils]: 66: Hoare triple {4740#(<= ~counter~0 6)} assume !(0 == ~cond); {4740#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:55,583 INFO L290 TraceCheckUtils]: 67: Hoare triple {4740#(<= ~counter~0 6)} assume true; {4740#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:55,583 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {4740#(<= ~counter~0 6)} {4740#(<= ~counter~0 6)} #63#return; {4740#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:55,584 INFO L290 TraceCheckUtils]: 69: Hoare triple {4740#(<= ~counter~0 6)} assume !!(0 != ~r~0); {4740#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:55,584 INFO L290 TraceCheckUtils]: 70: Hoare triple {4740#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4740#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:55,584 INFO L290 TraceCheckUtils]: 71: Hoare triple {4740#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4768#(<= |main_#t~post6| 6)} is VALID [2022-04-28 12:40:55,585 INFO L290 TraceCheckUtils]: 72: Hoare triple {4768#(<= |main_#t~post6| 6)} assume !(#t~post6 < 10);havoc #t~post6; {4544#false} is VALID [2022-04-28 12:40:55,585 INFO L272 TraceCheckUtils]: 73: Hoare triple {4544#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)); {4544#false} is VALID [2022-04-28 12:40:55,585 INFO L290 TraceCheckUtils]: 74: Hoare triple {4544#false} ~cond := #in~cond; {4544#false} is VALID [2022-04-28 12:40:55,585 INFO L290 TraceCheckUtils]: 75: Hoare triple {4544#false} assume 0 == ~cond; {4544#false} is VALID [2022-04-28 12:40:55,585 INFO L290 TraceCheckUtils]: 76: Hoare triple {4544#false} assume !false; {4544#false} is VALID [2022-04-28 12:40:55,586 INFO L134 CoverageAnalysis]: Checked inductivity of 163 backedges. 12 proven. 147 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:40:55,586 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:40:55,981 INFO L290 TraceCheckUtils]: 76: Hoare triple {4544#false} assume !false; {4544#false} is VALID [2022-04-28 12:40:55,981 INFO L290 TraceCheckUtils]: 75: Hoare triple {4544#false} assume 0 == ~cond; {4544#false} is VALID [2022-04-28 12:40:55,982 INFO L290 TraceCheckUtils]: 74: Hoare triple {4544#false} ~cond := #in~cond; {4544#false} is VALID [2022-04-28 12:40:55,982 INFO L272 TraceCheckUtils]: 73: Hoare triple {4544#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)); {4544#false} is VALID [2022-04-28 12:40:55,982 INFO L290 TraceCheckUtils]: 72: Hoare triple {4796#(< |main_#t~post6| 10)} assume !(#t~post6 < 10);havoc #t~post6; {4544#false} is VALID [2022-04-28 12:40:55,982 INFO L290 TraceCheckUtils]: 71: Hoare triple {4800#(< ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4796#(< |main_#t~post6| 10)} is VALID [2022-04-28 12:40:55,983 INFO L290 TraceCheckUtils]: 70: Hoare triple {4800#(< ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4800#(< ~counter~0 10)} is VALID [2022-04-28 12:40:55,983 INFO L290 TraceCheckUtils]: 69: Hoare triple {4800#(< ~counter~0 10)} assume !!(0 != ~r~0); {4800#(< ~counter~0 10)} is VALID [2022-04-28 12:40:55,983 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {4543#true} {4800#(< ~counter~0 10)} #63#return; {4800#(< ~counter~0 10)} is VALID [2022-04-28 12:40:55,984 INFO L290 TraceCheckUtils]: 67: Hoare triple {4543#true} assume true; {4543#true} is VALID [2022-04-28 12:40:55,984 INFO L290 TraceCheckUtils]: 66: Hoare triple {4543#true} assume !(0 == ~cond); {4543#true} is VALID [2022-04-28 12:40:55,984 INFO L290 TraceCheckUtils]: 65: Hoare triple {4543#true} ~cond := #in~cond; {4543#true} is VALID [2022-04-28 12:40:55,984 INFO L272 TraceCheckUtils]: 64: Hoare triple {4800#(< ~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)); {4543#true} is VALID [2022-04-28 12:40:55,984 INFO L290 TraceCheckUtils]: 63: Hoare triple {4800#(< ~counter~0 10)} assume !!(#t~post6 < 10);havoc #t~post6; {4800#(< ~counter~0 10)} is VALID [2022-04-28 12:40:55,984 INFO L290 TraceCheckUtils]: 62: Hoare triple {4828#(< ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4800#(< ~counter~0 10)} is VALID [2022-04-28 12:40:55,985 INFO L290 TraceCheckUtils]: 61: Hoare triple {4828#(< ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4828#(< ~counter~0 9)} is VALID [2022-04-28 12:40:55,985 INFO L290 TraceCheckUtils]: 60: Hoare triple {4828#(< ~counter~0 9)} assume !!(0 != ~r~0); {4828#(< ~counter~0 9)} is VALID [2022-04-28 12:40:55,986 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {4543#true} {4828#(< ~counter~0 9)} #63#return; {4828#(< ~counter~0 9)} is VALID [2022-04-28 12:40:55,986 INFO L290 TraceCheckUtils]: 58: Hoare triple {4543#true} assume true; {4543#true} is VALID [2022-04-28 12:40:55,986 INFO L290 TraceCheckUtils]: 57: Hoare triple {4543#true} assume !(0 == ~cond); {4543#true} is VALID [2022-04-28 12:40:55,986 INFO L290 TraceCheckUtils]: 56: Hoare triple {4543#true} ~cond := #in~cond; {4543#true} is VALID [2022-04-28 12:40:55,986 INFO L272 TraceCheckUtils]: 55: Hoare triple {4828#(< ~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)); {4543#true} is VALID [2022-04-28 12:40:55,986 INFO L290 TraceCheckUtils]: 54: Hoare triple {4828#(< ~counter~0 9)} assume !!(#t~post6 < 10);havoc #t~post6; {4828#(< ~counter~0 9)} is VALID [2022-04-28 12:40:55,987 INFO L290 TraceCheckUtils]: 53: Hoare triple {4856#(< ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4828#(< ~counter~0 9)} is VALID [2022-04-28 12:40:55,987 INFO L290 TraceCheckUtils]: 52: Hoare triple {4856#(< ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4856#(< ~counter~0 8)} is VALID [2022-04-28 12:40:55,987 INFO L290 TraceCheckUtils]: 51: Hoare triple {4856#(< ~counter~0 8)} assume !!(0 != ~r~0); {4856#(< ~counter~0 8)} is VALID [2022-04-28 12:40:55,988 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4543#true} {4856#(< ~counter~0 8)} #63#return; {4856#(< ~counter~0 8)} is VALID [2022-04-28 12:40:55,988 INFO L290 TraceCheckUtils]: 49: Hoare triple {4543#true} assume true; {4543#true} is VALID [2022-04-28 12:40:55,988 INFO L290 TraceCheckUtils]: 48: Hoare triple {4543#true} assume !(0 == ~cond); {4543#true} is VALID [2022-04-28 12:40:55,988 INFO L290 TraceCheckUtils]: 47: Hoare triple {4543#true} ~cond := #in~cond; {4543#true} is VALID [2022-04-28 12:40:55,988 INFO L272 TraceCheckUtils]: 46: Hoare triple {4856#(< ~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)); {4543#true} is VALID [2022-04-28 12:40:55,988 INFO L290 TraceCheckUtils]: 45: Hoare triple {4856#(< ~counter~0 8)} assume !!(#t~post6 < 10);havoc #t~post6; {4856#(< ~counter~0 8)} is VALID [2022-04-28 12:40:55,989 INFO L290 TraceCheckUtils]: 44: Hoare triple {4740#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4856#(< ~counter~0 8)} is VALID [2022-04-28 12:40:55,989 INFO L290 TraceCheckUtils]: 43: Hoare triple {4740#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4740#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:55,989 INFO L290 TraceCheckUtils]: 42: Hoare triple {4740#(<= ~counter~0 6)} assume !!(0 != ~r~0); {4740#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:55,990 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4543#true} {4740#(<= ~counter~0 6)} #63#return; {4740#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:55,990 INFO L290 TraceCheckUtils]: 40: Hoare triple {4543#true} assume true; {4543#true} is VALID [2022-04-28 12:40:55,990 INFO L290 TraceCheckUtils]: 39: Hoare triple {4543#true} assume !(0 == ~cond); {4543#true} is VALID [2022-04-28 12:40:55,990 INFO L290 TraceCheckUtils]: 38: Hoare triple {4543#true} ~cond := #in~cond; {4543#true} is VALID [2022-04-28 12:40:55,990 INFO L272 TraceCheckUtils]: 37: Hoare triple {4740#(<= ~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)); {4543#true} is VALID [2022-04-28 12:40:55,990 INFO L290 TraceCheckUtils]: 36: Hoare triple {4740#(<= ~counter~0 6)} assume !!(#t~post6 < 10);havoc #t~post6; {4740#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:55,991 INFO L290 TraceCheckUtils]: 35: Hoare triple {4712#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4740#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:55,991 INFO L290 TraceCheckUtils]: 34: Hoare triple {4712#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4712#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:55,991 INFO L290 TraceCheckUtils]: 33: Hoare triple {4712#(<= ~counter~0 5)} assume !!(0 != ~r~0); {4712#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:55,992 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4543#true} {4712#(<= ~counter~0 5)} #63#return; {4712#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:55,992 INFO L290 TraceCheckUtils]: 31: Hoare triple {4543#true} assume true; {4543#true} is VALID [2022-04-28 12:40:55,992 INFO L290 TraceCheckUtils]: 30: Hoare triple {4543#true} assume !(0 == ~cond); {4543#true} is VALID [2022-04-28 12:40:55,992 INFO L290 TraceCheckUtils]: 29: Hoare triple {4543#true} ~cond := #in~cond; {4543#true} is VALID [2022-04-28 12:40:55,992 INFO L272 TraceCheckUtils]: 28: Hoare triple {4712#(<= ~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)); {4543#true} is VALID [2022-04-28 12:40:55,992 INFO L290 TraceCheckUtils]: 27: Hoare triple {4712#(<= ~counter~0 5)} assume !!(#t~post6 < 10);havoc #t~post6; {4712#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:55,993 INFO L290 TraceCheckUtils]: 26: Hoare triple {4684#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4712#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:55,993 INFO L290 TraceCheckUtils]: 25: Hoare triple {4684#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {4684#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:55,993 INFO L290 TraceCheckUtils]: 24: Hoare triple {4684#(<= ~counter~0 4)} assume !!(0 != ~r~0); {4684#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:55,994 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4543#true} {4684#(<= ~counter~0 4)} #63#return; {4684#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:55,994 INFO L290 TraceCheckUtils]: 22: Hoare triple {4543#true} assume true; {4543#true} is VALID [2022-04-28 12:40:55,994 INFO L290 TraceCheckUtils]: 21: Hoare triple {4543#true} assume !(0 == ~cond); {4543#true} is VALID [2022-04-28 12:40:55,994 INFO L290 TraceCheckUtils]: 20: Hoare triple {4543#true} ~cond := #in~cond; {4543#true} is VALID [2022-04-28 12:40:55,994 INFO L272 TraceCheckUtils]: 19: Hoare triple {4684#(<= ~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)); {4543#true} is VALID [2022-04-28 12:40:55,994 INFO L290 TraceCheckUtils]: 18: Hoare triple {4684#(<= ~counter~0 4)} assume !!(#t~post6 < 10);havoc #t~post6; {4684#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:55,995 INFO L290 TraceCheckUtils]: 17: Hoare triple {4656#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4684#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:55,995 INFO L290 TraceCheckUtils]: 16: Hoare triple {4656#(<= ~counter~0 3)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {4656#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:55,996 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4543#true} {4656#(<= ~counter~0 3)} #61#return; {4656#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:55,996 INFO L290 TraceCheckUtils]: 14: Hoare triple {4543#true} assume true; {4543#true} is VALID [2022-04-28 12:40:55,996 INFO L290 TraceCheckUtils]: 13: Hoare triple {4543#true} assume !(0 == ~cond); {4543#true} is VALID [2022-04-28 12:40:55,996 INFO L290 TraceCheckUtils]: 12: Hoare triple {4543#true} ~cond := #in~cond; {4543#true} is VALID [2022-04-28 12:40:55,996 INFO L272 TraceCheckUtils]: 11: Hoare triple {4656#(<= ~counter~0 3)} 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)); {4543#true} is VALID [2022-04-28 12:40:55,996 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4543#true} {4656#(<= ~counter~0 3)} #59#return; {4656#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:55,996 INFO L290 TraceCheckUtils]: 9: Hoare triple {4543#true} assume true; {4543#true} is VALID [2022-04-28 12:40:55,996 INFO L290 TraceCheckUtils]: 8: Hoare triple {4543#true} assume !(0 == ~cond); {4543#true} is VALID [2022-04-28 12:40:55,997 INFO L290 TraceCheckUtils]: 7: Hoare triple {4543#true} ~cond := #in~cond; {4543#true} is VALID [2022-04-28 12:40:55,997 INFO L272 TraceCheckUtils]: 6: Hoare triple {4656#(<= ~counter~0 3)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {4543#true} is VALID [2022-04-28 12:40:55,997 INFO L290 TraceCheckUtils]: 5: Hoare triple {4656#(<= ~counter~0 3)} 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; {4656#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:55,997 INFO L272 TraceCheckUtils]: 4: Hoare triple {4656#(<= ~counter~0 3)} call #t~ret7 := main(); {4656#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:55,998 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4656#(<= ~counter~0 3)} {4543#true} #67#return; {4656#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:55,998 INFO L290 TraceCheckUtils]: 2: Hoare triple {4656#(<= ~counter~0 3)} assume true; {4656#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:55,998 INFO L290 TraceCheckUtils]: 1: Hoare triple {4543#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; {4656#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:55,998 INFO L272 TraceCheckUtils]: 0: Hoare triple {4543#true} call ULTIMATE.init(); {4543#true} is VALID [2022-04-28 12:40:55,999 INFO L134 CoverageAnalysis]: Checked inductivity of 163 backedges. 12 proven. 87 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-28 12:40:55,999 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:40:55,999 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1121982698] [2022-04-28 12:40:55,999 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:40:55,999 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [27969064] [2022-04-28 12:40:55,999 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [27969064] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:40:55,999 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:40:55,999 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 14 [2022-04-28 12:40:55,999 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:40:55,999 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [100215447] [2022-04-28 12:40:56,000 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [100215447] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:40:56,000 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:40:56,000 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:40:56,000 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1166097087] [2022-04-28 12:40:56,000 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:40:56,000 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.4) internal successors, (54), 9 states have internal predecessors, (54), 9 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 7 states have call predecessors, (9), 8 states have call successors, (9) Word has length 77 [2022-04-28 12:40:56,001 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:40:56,001 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 5.4) internal successors, (54), 9 states have internal predecessors, (54), 9 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 7 states have call predecessors, (9), 8 states have call successors, (9) [2022-04-28 12:40:56,073 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:56,073 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:40:56,073 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:56,073 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:40:56,073 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:40:56,074 INFO L87 Difference]: Start difference. First operand 74 states and 81 transitions. Second operand has 10 states, 10 states have (on average 5.4) internal successors, (54), 9 states have internal predecessors, (54), 9 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 7 states have call predecessors, (9), 8 states have call successors, (9) [2022-04-28 12:40:56,344 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:56,345 INFO L93 Difference]: Finished difference Result 88 states and 96 transitions. [2022-04-28 12:40:56,345 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 12:40:56,345 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.4) internal successors, (54), 9 states have internal predecessors, (54), 9 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 7 states have call predecessors, (9), 8 states have call successors, (9) Word has length 77 [2022-04-28 12:40:56,345 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:40:56,345 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.4) internal successors, (54), 9 states have internal predecessors, (54), 9 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 7 states have call predecessors, (9), 8 states have call successors, (9) [2022-04-28 12:40:56,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 95 transitions. [2022-04-28 12:40:56,347 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.4) internal successors, (54), 9 states have internal predecessors, (54), 9 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 7 states have call predecessors, (9), 8 states have call successors, (9) [2022-04-28 12:40:56,349 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 95 transitions. [2022-04-28 12:40:56,349 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 95 transitions. [2022-04-28 12:40:56,428 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:56,429 INFO L225 Difference]: With dead ends: 88 [2022-04-28 12:40:56,429 INFO L226 Difference]: Without dead ends: 83 [2022-04-28 12:40:56,430 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 159 GetRequests, 140 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 33 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=149, Invalid=231, Unknown=0, NotChecked=0, Total=380 [2022-04-28 12:40:56,430 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 27 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 35 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 130 SdHoareTripleChecker+Invalid, 56 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 35 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:40:56,431 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [27 Valid, 130 Invalid, 56 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 35 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:40:56,431 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2022-04-28 12:40:56,502 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 83. [2022-04-28 12:40:56,502 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:40:56,502 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand has 83 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 61 states have internal predecessors, (69), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:40:56,502 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand has 83 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 61 states have internal predecessors, (69), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:40:56,503 INFO L87 Difference]: Start difference. First operand 83 states. Second operand has 83 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 61 states have internal predecessors, (69), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:40:56,505 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:56,505 INFO L93 Difference]: Finished difference Result 83 states and 91 transitions. [2022-04-28 12:40:56,505 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 91 transitions. [2022-04-28 12:40:56,505 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:56,505 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:56,506 INFO L74 IsIncluded]: Start isIncluded. First operand has 83 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 61 states have internal predecessors, (69), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 83 states. [2022-04-28 12:40:56,506 INFO L87 Difference]: Start difference. First operand has 83 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 61 states have internal predecessors, (69), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 83 states. [2022-04-28 12:40:56,508 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:56,508 INFO L93 Difference]: Finished difference Result 83 states and 91 transitions. [2022-04-28 12:40:56,508 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 91 transitions. [2022-04-28 12:40:56,508 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:56,508 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:56,508 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:40:56,508 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:40:56,509 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 83 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 61 states have internal predecessors, (69), 12 states have call successors, (12), 11 states have call predecessors, (12), 9 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:40:56,510 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 91 transitions. [2022-04-28 12:40:56,510 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 91 transitions. Word has length 77 [2022-04-28 12:40:56,511 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:40:56,511 INFO L495 AbstractCegarLoop]: Abstraction has 83 states and 91 transitions. [2022-04-28 12:40:56,513 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 5.4) internal successors, (54), 9 states have internal predecessors, (54), 9 states have call successors, (11), 9 states have call predecessors, (11), 7 states have return successors, (9), 7 states have call predecessors, (9), 8 states have call successors, (9) [2022-04-28 12:40:56,513 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 83 states and 91 transitions. [2022-04-28 12:40:57,176 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:57,177 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 91 transitions. [2022-04-28 12:40:57,177 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 12:40:57,177 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:40:57,178 INFO L195 NwaCegarLoop]: trace histogram [8, 8, 7, 7, 7, 7, 7, 7, 7, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:40:57,184 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-28 12:40:57,378 WARN L477 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-28 12:40:57,379 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:40:57,379 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:40:57,379 INFO L85 PathProgramCache]: Analyzing trace with hash 1848611036, now seen corresponding path program 13 times [2022-04-28 12:40:57,379 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:57,379 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [390533490] [2022-04-28 12:40:57,380 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:40:57,380 INFO L85 PathProgramCache]: Analyzing trace with hash 1848611036, now seen corresponding path program 14 times [2022-04-28 12:40:57,380 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:40:57,380 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1440502034] [2022-04-28 12:40:57,380 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:40:57,380 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:40:57,392 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:40:57,393 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2018115942] [2022-04-28 12:40:57,393 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:40:57,393 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:40:57,393 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:40:57,394 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-28 12:40:57,401 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-28 12:40:57,453 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:40:57,454 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:40:57,455 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-28 12:40:57,472 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:40:57,473 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:40:57,917 INFO L272 TraceCheckUtils]: 0: Hoare triple {5538#true} call ULTIMATE.init(); {5538#true} is VALID [2022-04-28 12:40:57,918 INFO L290 TraceCheckUtils]: 1: Hoare triple {5538#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; {5546#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:57,918 INFO L290 TraceCheckUtils]: 2: Hoare triple {5546#(<= ~counter~0 0)} assume true; {5546#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:57,918 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5546#(<= ~counter~0 0)} {5538#true} #67#return; {5546#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:57,919 INFO L272 TraceCheckUtils]: 4: Hoare triple {5546#(<= ~counter~0 0)} call #t~ret7 := main(); {5546#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:57,919 INFO L290 TraceCheckUtils]: 5: Hoare triple {5546#(<= ~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; {5546#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:57,919 INFO L272 TraceCheckUtils]: 6: Hoare triple {5546#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {5546#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:57,920 INFO L290 TraceCheckUtils]: 7: Hoare triple {5546#(<= ~counter~0 0)} ~cond := #in~cond; {5546#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:57,920 INFO L290 TraceCheckUtils]: 8: Hoare triple {5546#(<= ~counter~0 0)} assume !(0 == ~cond); {5546#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:57,920 INFO L290 TraceCheckUtils]: 9: Hoare triple {5546#(<= ~counter~0 0)} assume true; {5546#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:57,921 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5546#(<= ~counter~0 0)} {5546#(<= ~counter~0 0)} #59#return; {5546#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:57,921 INFO L272 TraceCheckUtils]: 11: Hoare triple {5546#(<= ~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)); {5546#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:57,921 INFO L290 TraceCheckUtils]: 12: Hoare triple {5546#(<= ~counter~0 0)} ~cond := #in~cond; {5546#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:57,922 INFO L290 TraceCheckUtils]: 13: Hoare triple {5546#(<= ~counter~0 0)} assume !(0 == ~cond); {5546#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:57,922 INFO L290 TraceCheckUtils]: 14: Hoare triple {5546#(<= ~counter~0 0)} assume true; {5546#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:57,922 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5546#(<= ~counter~0 0)} {5546#(<= ~counter~0 0)} #61#return; {5546#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:57,923 INFO L290 TraceCheckUtils]: 16: Hoare triple {5546#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {5546#(<= ~counter~0 0)} is VALID [2022-04-28 12:40:57,923 INFO L290 TraceCheckUtils]: 17: Hoare triple {5546#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5595#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:57,923 INFO L290 TraceCheckUtils]: 18: Hoare triple {5595#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {5595#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:57,924 INFO L272 TraceCheckUtils]: 19: Hoare triple {5595#(<= ~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)); {5595#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:57,924 INFO L290 TraceCheckUtils]: 20: Hoare triple {5595#(<= ~counter~0 1)} ~cond := #in~cond; {5595#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:57,925 INFO L290 TraceCheckUtils]: 21: Hoare triple {5595#(<= ~counter~0 1)} assume !(0 == ~cond); {5595#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:57,925 INFO L290 TraceCheckUtils]: 22: Hoare triple {5595#(<= ~counter~0 1)} assume true; {5595#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:57,925 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5595#(<= ~counter~0 1)} {5595#(<= ~counter~0 1)} #63#return; {5595#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:57,926 INFO L290 TraceCheckUtils]: 24: Hoare triple {5595#(<= ~counter~0 1)} assume !!(0 != ~r~0); {5595#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:57,926 INFO L290 TraceCheckUtils]: 25: Hoare triple {5595#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5595#(<= ~counter~0 1)} is VALID [2022-04-28 12:40:57,926 INFO L290 TraceCheckUtils]: 26: Hoare triple {5595#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5623#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:57,927 INFO L290 TraceCheckUtils]: 27: Hoare triple {5623#(<= ~counter~0 2)} assume !!(#t~post6 < 10);havoc #t~post6; {5623#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:57,927 INFO L272 TraceCheckUtils]: 28: Hoare triple {5623#(<= ~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)); {5623#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:57,927 INFO L290 TraceCheckUtils]: 29: Hoare triple {5623#(<= ~counter~0 2)} ~cond := #in~cond; {5623#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:57,928 INFO L290 TraceCheckUtils]: 30: Hoare triple {5623#(<= ~counter~0 2)} assume !(0 == ~cond); {5623#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:57,928 INFO L290 TraceCheckUtils]: 31: Hoare triple {5623#(<= ~counter~0 2)} assume true; {5623#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:57,928 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5623#(<= ~counter~0 2)} {5623#(<= ~counter~0 2)} #63#return; {5623#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:57,929 INFO L290 TraceCheckUtils]: 33: Hoare triple {5623#(<= ~counter~0 2)} assume !!(0 != ~r~0); {5623#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:57,929 INFO L290 TraceCheckUtils]: 34: Hoare triple {5623#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5623#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:57,929 INFO L290 TraceCheckUtils]: 35: Hoare triple {5623#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5651#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:57,930 INFO L290 TraceCheckUtils]: 36: Hoare triple {5651#(<= ~counter~0 3)} assume !!(#t~post6 < 10);havoc #t~post6; {5651#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:57,930 INFO L272 TraceCheckUtils]: 37: Hoare triple {5651#(<= ~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)); {5651#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:57,931 INFO L290 TraceCheckUtils]: 38: Hoare triple {5651#(<= ~counter~0 3)} ~cond := #in~cond; {5651#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:57,931 INFO L290 TraceCheckUtils]: 39: Hoare triple {5651#(<= ~counter~0 3)} assume !(0 == ~cond); {5651#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:57,931 INFO L290 TraceCheckUtils]: 40: Hoare triple {5651#(<= ~counter~0 3)} assume true; {5651#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:57,932 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5651#(<= ~counter~0 3)} {5651#(<= ~counter~0 3)} #63#return; {5651#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:57,932 INFO L290 TraceCheckUtils]: 42: Hoare triple {5651#(<= ~counter~0 3)} assume !!(0 != ~r~0); {5651#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:57,932 INFO L290 TraceCheckUtils]: 43: Hoare triple {5651#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5651#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:57,933 INFO L290 TraceCheckUtils]: 44: Hoare triple {5651#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5679#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:57,933 INFO L290 TraceCheckUtils]: 45: Hoare triple {5679#(<= ~counter~0 4)} assume !!(#t~post6 < 10);havoc #t~post6; {5679#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:57,933 INFO L272 TraceCheckUtils]: 46: Hoare triple {5679#(<= ~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)); {5679#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:57,934 INFO L290 TraceCheckUtils]: 47: Hoare triple {5679#(<= ~counter~0 4)} ~cond := #in~cond; {5679#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:57,934 INFO L290 TraceCheckUtils]: 48: Hoare triple {5679#(<= ~counter~0 4)} assume !(0 == ~cond); {5679#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:57,934 INFO L290 TraceCheckUtils]: 49: Hoare triple {5679#(<= ~counter~0 4)} assume true; {5679#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:57,935 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5679#(<= ~counter~0 4)} {5679#(<= ~counter~0 4)} #63#return; {5679#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:57,935 INFO L290 TraceCheckUtils]: 51: Hoare triple {5679#(<= ~counter~0 4)} assume !!(0 != ~r~0); {5679#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:57,935 INFO L290 TraceCheckUtils]: 52: Hoare triple {5679#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5679#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:57,936 INFO L290 TraceCheckUtils]: 53: Hoare triple {5679#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5707#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:57,936 INFO L290 TraceCheckUtils]: 54: Hoare triple {5707#(<= ~counter~0 5)} assume !!(#t~post6 < 10);havoc #t~post6; {5707#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:57,937 INFO L272 TraceCheckUtils]: 55: Hoare triple {5707#(<= ~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)); {5707#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:57,937 INFO L290 TraceCheckUtils]: 56: Hoare triple {5707#(<= ~counter~0 5)} ~cond := #in~cond; {5707#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:57,937 INFO L290 TraceCheckUtils]: 57: Hoare triple {5707#(<= ~counter~0 5)} assume !(0 == ~cond); {5707#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:57,937 INFO L290 TraceCheckUtils]: 58: Hoare triple {5707#(<= ~counter~0 5)} assume true; {5707#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:57,938 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {5707#(<= ~counter~0 5)} {5707#(<= ~counter~0 5)} #63#return; {5707#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:57,938 INFO L290 TraceCheckUtils]: 60: Hoare triple {5707#(<= ~counter~0 5)} assume !!(0 != ~r~0); {5707#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:57,939 INFO L290 TraceCheckUtils]: 61: Hoare triple {5707#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5707#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:57,952 INFO L290 TraceCheckUtils]: 62: Hoare triple {5707#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5735#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:57,952 INFO L290 TraceCheckUtils]: 63: Hoare triple {5735#(<= ~counter~0 6)} assume !!(#t~post6 < 10);havoc #t~post6; {5735#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:57,953 INFO L272 TraceCheckUtils]: 64: Hoare triple {5735#(<= ~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)); {5735#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:57,954 INFO L290 TraceCheckUtils]: 65: Hoare triple {5735#(<= ~counter~0 6)} ~cond := #in~cond; {5735#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:57,954 INFO L290 TraceCheckUtils]: 66: Hoare triple {5735#(<= ~counter~0 6)} assume !(0 == ~cond); {5735#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:57,955 INFO L290 TraceCheckUtils]: 67: Hoare triple {5735#(<= ~counter~0 6)} assume true; {5735#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:57,956 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {5735#(<= ~counter~0 6)} {5735#(<= ~counter~0 6)} #63#return; {5735#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:57,956 INFO L290 TraceCheckUtils]: 69: Hoare triple {5735#(<= ~counter~0 6)} assume !!(0 != ~r~0); {5735#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:57,957 INFO L290 TraceCheckUtils]: 70: Hoare triple {5735#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5735#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:57,958 INFO L290 TraceCheckUtils]: 71: Hoare triple {5735#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5763#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:57,958 INFO L290 TraceCheckUtils]: 72: Hoare triple {5763#(<= ~counter~0 7)} assume !!(#t~post6 < 10);havoc #t~post6; {5763#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:57,959 INFO L272 TraceCheckUtils]: 73: Hoare triple {5763#(<= ~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)); {5763#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:57,960 INFO L290 TraceCheckUtils]: 74: Hoare triple {5763#(<= ~counter~0 7)} ~cond := #in~cond; {5763#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:57,960 INFO L290 TraceCheckUtils]: 75: Hoare triple {5763#(<= ~counter~0 7)} assume !(0 == ~cond); {5763#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:57,961 INFO L290 TraceCheckUtils]: 76: Hoare triple {5763#(<= ~counter~0 7)} assume true; {5763#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:57,962 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {5763#(<= ~counter~0 7)} {5763#(<= ~counter~0 7)} #63#return; {5763#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:57,962 INFO L290 TraceCheckUtils]: 78: Hoare triple {5763#(<= ~counter~0 7)} assume !!(0 != ~r~0); {5763#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:57,963 INFO L290 TraceCheckUtils]: 79: Hoare triple {5763#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5763#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:57,963 INFO L290 TraceCheckUtils]: 80: Hoare triple {5763#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5791#(<= |main_#t~post6| 7)} is VALID [2022-04-28 12:40:57,964 INFO L290 TraceCheckUtils]: 81: Hoare triple {5791#(<= |main_#t~post6| 7)} assume !(#t~post6 < 10);havoc #t~post6; {5539#false} is VALID [2022-04-28 12:40:57,964 INFO L272 TraceCheckUtils]: 82: Hoare triple {5539#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)); {5539#false} is VALID [2022-04-28 12:40:57,964 INFO L290 TraceCheckUtils]: 83: Hoare triple {5539#false} ~cond := #in~cond; {5539#false} is VALID [2022-04-28 12:40:57,964 INFO L290 TraceCheckUtils]: 84: Hoare triple {5539#false} assume 0 == ~cond; {5539#false} is VALID [2022-04-28 12:40:57,964 INFO L290 TraceCheckUtils]: 85: Hoare triple {5539#false} assume !false; {5539#false} is VALID [2022-04-28 12:40:57,965 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 14 proven. 203 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:40:57,965 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:40:58,367 INFO L290 TraceCheckUtils]: 85: Hoare triple {5539#false} assume !false; {5539#false} is VALID [2022-04-28 12:40:58,367 INFO L290 TraceCheckUtils]: 84: Hoare triple {5539#false} assume 0 == ~cond; {5539#false} is VALID [2022-04-28 12:40:58,367 INFO L290 TraceCheckUtils]: 83: Hoare triple {5539#false} ~cond := #in~cond; {5539#false} is VALID [2022-04-28 12:40:58,367 INFO L272 TraceCheckUtils]: 82: Hoare triple {5539#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)); {5539#false} is VALID [2022-04-28 12:40:58,368 INFO L290 TraceCheckUtils]: 81: Hoare triple {5819#(< |main_#t~post6| 10)} assume !(#t~post6 < 10);havoc #t~post6; {5539#false} is VALID [2022-04-28 12:40:58,368 INFO L290 TraceCheckUtils]: 80: Hoare triple {5823#(< ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5819#(< |main_#t~post6| 10)} is VALID [2022-04-28 12:40:58,368 INFO L290 TraceCheckUtils]: 79: Hoare triple {5823#(< ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5823#(< ~counter~0 10)} is VALID [2022-04-28 12:40:58,369 INFO L290 TraceCheckUtils]: 78: Hoare triple {5823#(< ~counter~0 10)} assume !!(0 != ~r~0); {5823#(< ~counter~0 10)} is VALID [2022-04-28 12:40:58,369 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {5538#true} {5823#(< ~counter~0 10)} #63#return; {5823#(< ~counter~0 10)} is VALID [2022-04-28 12:40:58,370 INFO L290 TraceCheckUtils]: 76: Hoare triple {5538#true} assume true; {5538#true} is VALID [2022-04-28 12:40:58,370 INFO L290 TraceCheckUtils]: 75: Hoare triple {5538#true} assume !(0 == ~cond); {5538#true} is VALID [2022-04-28 12:40:58,370 INFO L290 TraceCheckUtils]: 74: Hoare triple {5538#true} ~cond := #in~cond; {5538#true} is VALID [2022-04-28 12:40:58,370 INFO L272 TraceCheckUtils]: 73: Hoare triple {5823#(< ~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)); {5538#true} is VALID [2022-04-28 12:40:58,374 INFO L290 TraceCheckUtils]: 72: Hoare triple {5823#(< ~counter~0 10)} assume !!(#t~post6 < 10);havoc #t~post6; {5823#(< ~counter~0 10)} is VALID [2022-04-28 12:40:58,374 INFO L290 TraceCheckUtils]: 71: Hoare triple {5851#(< ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5823#(< ~counter~0 10)} is VALID [2022-04-28 12:40:58,375 INFO L290 TraceCheckUtils]: 70: Hoare triple {5851#(< ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5851#(< ~counter~0 9)} is VALID [2022-04-28 12:40:58,375 INFO L290 TraceCheckUtils]: 69: Hoare triple {5851#(< ~counter~0 9)} assume !!(0 != ~r~0); {5851#(< ~counter~0 9)} is VALID [2022-04-28 12:40:58,375 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {5538#true} {5851#(< ~counter~0 9)} #63#return; {5851#(< ~counter~0 9)} is VALID [2022-04-28 12:40:58,376 INFO L290 TraceCheckUtils]: 67: Hoare triple {5538#true} assume true; {5538#true} is VALID [2022-04-28 12:40:58,376 INFO L290 TraceCheckUtils]: 66: Hoare triple {5538#true} assume !(0 == ~cond); {5538#true} is VALID [2022-04-28 12:40:58,376 INFO L290 TraceCheckUtils]: 65: Hoare triple {5538#true} ~cond := #in~cond; {5538#true} is VALID [2022-04-28 12:40:58,376 INFO L272 TraceCheckUtils]: 64: Hoare triple {5851#(< ~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)); {5538#true} is VALID [2022-04-28 12:40:58,376 INFO L290 TraceCheckUtils]: 63: Hoare triple {5851#(< ~counter~0 9)} assume !!(#t~post6 < 10);havoc #t~post6; {5851#(< ~counter~0 9)} is VALID [2022-04-28 12:40:58,376 INFO L290 TraceCheckUtils]: 62: Hoare triple {5763#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5851#(< ~counter~0 9)} is VALID [2022-04-28 12:40:58,377 INFO L290 TraceCheckUtils]: 61: Hoare triple {5763#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5763#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:58,377 INFO L290 TraceCheckUtils]: 60: Hoare triple {5763#(<= ~counter~0 7)} assume !!(0 != ~r~0); {5763#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:58,378 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {5538#true} {5763#(<= ~counter~0 7)} #63#return; {5763#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:58,378 INFO L290 TraceCheckUtils]: 58: Hoare triple {5538#true} assume true; {5538#true} is VALID [2022-04-28 12:40:58,378 INFO L290 TraceCheckUtils]: 57: Hoare triple {5538#true} assume !(0 == ~cond); {5538#true} is VALID [2022-04-28 12:40:58,378 INFO L290 TraceCheckUtils]: 56: Hoare triple {5538#true} ~cond := #in~cond; {5538#true} is VALID [2022-04-28 12:40:58,378 INFO L272 TraceCheckUtils]: 55: Hoare triple {5763#(<= ~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)); {5538#true} is VALID [2022-04-28 12:40:58,378 INFO L290 TraceCheckUtils]: 54: Hoare triple {5763#(<= ~counter~0 7)} assume !!(#t~post6 < 10);havoc #t~post6; {5763#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:58,378 INFO L290 TraceCheckUtils]: 53: Hoare triple {5735#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5763#(<= ~counter~0 7)} is VALID [2022-04-28 12:40:58,379 INFO L290 TraceCheckUtils]: 52: Hoare triple {5735#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5735#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:58,379 INFO L290 TraceCheckUtils]: 51: Hoare triple {5735#(<= ~counter~0 6)} assume !!(0 != ~r~0); {5735#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:58,380 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5538#true} {5735#(<= ~counter~0 6)} #63#return; {5735#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:58,380 INFO L290 TraceCheckUtils]: 49: Hoare triple {5538#true} assume true; {5538#true} is VALID [2022-04-28 12:40:58,380 INFO L290 TraceCheckUtils]: 48: Hoare triple {5538#true} assume !(0 == ~cond); {5538#true} is VALID [2022-04-28 12:40:58,380 INFO L290 TraceCheckUtils]: 47: Hoare triple {5538#true} ~cond := #in~cond; {5538#true} is VALID [2022-04-28 12:40:58,380 INFO L272 TraceCheckUtils]: 46: Hoare triple {5735#(<= ~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)); {5538#true} is VALID [2022-04-28 12:40:58,380 INFO L290 TraceCheckUtils]: 45: Hoare triple {5735#(<= ~counter~0 6)} assume !!(#t~post6 < 10);havoc #t~post6; {5735#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:58,380 INFO L290 TraceCheckUtils]: 44: Hoare triple {5707#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5735#(<= ~counter~0 6)} is VALID [2022-04-28 12:40:58,381 INFO L290 TraceCheckUtils]: 43: Hoare triple {5707#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5707#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:58,381 INFO L290 TraceCheckUtils]: 42: Hoare triple {5707#(<= ~counter~0 5)} assume !!(0 != ~r~0); {5707#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:58,382 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5538#true} {5707#(<= ~counter~0 5)} #63#return; {5707#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:58,382 INFO L290 TraceCheckUtils]: 40: Hoare triple {5538#true} assume true; {5538#true} is VALID [2022-04-28 12:40:58,382 INFO L290 TraceCheckUtils]: 39: Hoare triple {5538#true} assume !(0 == ~cond); {5538#true} is VALID [2022-04-28 12:40:58,382 INFO L290 TraceCheckUtils]: 38: Hoare triple {5538#true} ~cond := #in~cond; {5538#true} is VALID [2022-04-28 12:40:58,382 INFO L272 TraceCheckUtils]: 37: Hoare triple {5707#(<= ~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)); {5538#true} is VALID [2022-04-28 12:40:58,382 INFO L290 TraceCheckUtils]: 36: Hoare triple {5707#(<= ~counter~0 5)} assume !!(#t~post6 < 10);havoc #t~post6; {5707#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:58,383 INFO L290 TraceCheckUtils]: 35: Hoare triple {5679#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5707#(<= ~counter~0 5)} is VALID [2022-04-28 12:40:58,383 INFO L290 TraceCheckUtils]: 34: Hoare triple {5679#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5679#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:58,383 INFO L290 TraceCheckUtils]: 33: Hoare triple {5679#(<= ~counter~0 4)} assume !!(0 != ~r~0); {5679#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:58,384 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5538#true} {5679#(<= ~counter~0 4)} #63#return; {5679#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:58,384 INFO L290 TraceCheckUtils]: 31: Hoare triple {5538#true} assume true; {5538#true} is VALID [2022-04-28 12:40:58,384 INFO L290 TraceCheckUtils]: 30: Hoare triple {5538#true} assume !(0 == ~cond); {5538#true} is VALID [2022-04-28 12:40:58,384 INFO L290 TraceCheckUtils]: 29: Hoare triple {5538#true} ~cond := #in~cond; {5538#true} is VALID [2022-04-28 12:40:58,384 INFO L272 TraceCheckUtils]: 28: Hoare triple {5679#(<= ~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)); {5538#true} is VALID [2022-04-28 12:40:58,384 INFO L290 TraceCheckUtils]: 27: Hoare triple {5679#(<= ~counter~0 4)} assume !!(#t~post6 < 10);havoc #t~post6; {5679#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:58,385 INFO L290 TraceCheckUtils]: 26: Hoare triple {5651#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5679#(<= ~counter~0 4)} is VALID [2022-04-28 12:40:58,385 INFO L290 TraceCheckUtils]: 25: Hoare triple {5651#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {5651#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:58,385 INFO L290 TraceCheckUtils]: 24: Hoare triple {5651#(<= ~counter~0 3)} assume !!(0 != ~r~0); {5651#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:58,386 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5538#true} {5651#(<= ~counter~0 3)} #63#return; {5651#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:58,386 INFO L290 TraceCheckUtils]: 22: Hoare triple {5538#true} assume true; {5538#true} is VALID [2022-04-28 12:40:58,386 INFO L290 TraceCheckUtils]: 21: Hoare triple {5538#true} assume !(0 == ~cond); {5538#true} is VALID [2022-04-28 12:40:58,386 INFO L290 TraceCheckUtils]: 20: Hoare triple {5538#true} ~cond := #in~cond; {5538#true} is VALID [2022-04-28 12:40:58,386 INFO L272 TraceCheckUtils]: 19: Hoare triple {5651#(<= ~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)); {5538#true} is VALID [2022-04-28 12:40:58,386 INFO L290 TraceCheckUtils]: 18: Hoare triple {5651#(<= ~counter~0 3)} assume !!(#t~post6 < 10);havoc #t~post6; {5651#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:58,387 INFO L290 TraceCheckUtils]: 17: Hoare triple {5623#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5651#(<= ~counter~0 3)} is VALID [2022-04-28 12:40:58,387 INFO L290 TraceCheckUtils]: 16: Hoare triple {5623#(<= ~counter~0 2)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {5623#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:58,387 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5538#true} {5623#(<= ~counter~0 2)} #61#return; {5623#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:58,387 INFO L290 TraceCheckUtils]: 14: Hoare triple {5538#true} assume true; {5538#true} is VALID [2022-04-28 12:40:58,387 INFO L290 TraceCheckUtils]: 13: Hoare triple {5538#true} assume !(0 == ~cond); {5538#true} is VALID [2022-04-28 12:40:58,387 INFO L290 TraceCheckUtils]: 12: Hoare triple {5538#true} ~cond := #in~cond; {5538#true} is VALID [2022-04-28 12:40:58,388 INFO L272 TraceCheckUtils]: 11: Hoare triple {5623#(<= ~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)); {5538#true} is VALID [2022-04-28 12:40:58,388 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5538#true} {5623#(<= ~counter~0 2)} #59#return; {5623#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:58,388 INFO L290 TraceCheckUtils]: 9: Hoare triple {5538#true} assume true; {5538#true} is VALID [2022-04-28 12:40:58,389 INFO L290 TraceCheckUtils]: 8: Hoare triple {5538#true} assume !(0 == ~cond); {5538#true} is VALID [2022-04-28 12:40:58,389 INFO L290 TraceCheckUtils]: 7: Hoare triple {5538#true} ~cond := #in~cond; {5538#true} is VALID [2022-04-28 12:40:58,389 INFO L272 TraceCheckUtils]: 6: Hoare triple {5623#(<= ~counter~0 2)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {5538#true} is VALID [2022-04-28 12:40:58,389 INFO L290 TraceCheckUtils]: 5: Hoare triple {5623#(<= ~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; {5623#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:58,389 INFO L272 TraceCheckUtils]: 4: Hoare triple {5623#(<= ~counter~0 2)} call #t~ret7 := main(); {5623#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:58,390 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5623#(<= ~counter~0 2)} {5538#true} #67#return; {5623#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:58,390 INFO L290 TraceCheckUtils]: 2: Hoare triple {5623#(<= ~counter~0 2)} assume true; {5623#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:58,390 INFO L290 TraceCheckUtils]: 1: Hoare triple {5538#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; {5623#(<= ~counter~0 2)} is VALID [2022-04-28 12:40:58,390 INFO L272 TraceCheckUtils]: 0: Hoare triple {5538#true} call ULTIMATE.init(); {5538#true} is VALID [2022-04-28 12:40:58,391 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 14 proven. 119 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-28 12:40:58,391 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:40:58,391 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1440502034] [2022-04-28 12:40:58,391 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:40:58,391 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2018115942] [2022-04-28 12:40:58,391 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2018115942] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:40:58,391 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:40:58,391 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 14 [2022-04-28 12:40:58,392 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:40:58,392 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [390533490] [2022-04-28 12:40:58,392 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [390533490] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:40:58,392 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:40:58,392 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 12:40:58,392 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1110899424] [2022-04-28 12:40:58,392 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:40:58,393 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 5.545454545454546) internal successors, (61), 10 states have internal predecessors, (61), 10 states have call successors, (12), 10 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 9 states have call successors, (10) Word has length 86 [2022-04-28 12:40:58,393 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:40:58,393 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 5.545454545454546) internal successors, (61), 10 states have internal predecessors, (61), 10 states have call successors, (12), 10 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 9 states have call successors, (10) [2022-04-28 12:40:58,449 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:58,449 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 12:40:58,449 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:40:58,449 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 12:40:58,450 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:40:58,450 INFO L87 Difference]: Start difference. First operand 83 states and 91 transitions. Second operand has 11 states, 11 states have (on average 5.545454545454546) internal successors, (61), 10 states have internal predecessors, (61), 10 states have call successors, (12), 10 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 9 states have call successors, (10) [2022-04-28 12:40:58,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:58,781 INFO L93 Difference]: Finished difference Result 97 states and 106 transitions. [2022-04-28 12:40:58,781 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 12:40:58,781 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 5.545454545454546) internal successors, (61), 10 states have internal predecessors, (61), 10 states have call successors, (12), 10 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 9 states have call successors, (10) Word has length 86 [2022-04-28 12:40:58,781 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:40:58,782 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 5.545454545454546) internal successors, (61), 10 states have internal predecessors, (61), 10 states have call successors, (12), 10 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 9 states have call successors, (10) [2022-04-28 12:40:58,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 105 transitions. [2022-04-28 12:40:58,784 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 5.545454545454546) internal successors, (61), 10 states have internal predecessors, (61), 10 states have call successors, (12), 10 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 9 states have call successors, (10) [2022-04-28 12:40:58,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 105 transitions. [2022-04-28 12:40:58,786 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 105 transitions. [2022-04-28 12:40:58,870 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:40:58,871 INFO L225 Difference]: With dead ends: 97 [2022-04-28 12:40:58,871 INFO L226 Difference]: Without dead ends: 92 [2022-04-28 12:40:58,871 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 178 GetRequests, 158 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=162, Invalid=258, Unknown=0, NotChecked=0, Total=420 [2022-04-28 12:40:58,872 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 39 mSDsluCounter, 105 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:40:58,872 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 138 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:40:58,872 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-04-28 12:40:58,961 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 92. [2022-04-28 12:40:58,961 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:40:58,962 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 92 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 68 states have internal predecessors, (77), 13 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:40:58,962 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 92 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 68 states have internal predecessors, (77), 13 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:40:58,962 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 92 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 68 states have internal predecessors, (77), 13 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:40:58,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:58,964 INFO L93 Difference]: Finished difference Result 92 states and 101 transitions. [2022-04-28 12:40:58,964 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 101 transitions. [2022-04-28 12:40:58,964 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:58,964 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:58,964 INFO L74 IsIncluded]: Start isIncluded. First operand has 92 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 68 states have internal predecessors, (77), 13 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 92 states. [2022-04-28 12:40:58,964 INFO L87 Difference]: Start difference. First operand has 92 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 68 states have internal predecessors, (77), 13 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 92 states. [2022-04-28 12:40:58,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:40:58,966 INFO L93 Difference]: Finished difference Result 92 states and 101 transitions. [2022-04-28 12:40:58,966 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 101 transitions. [2022-04-28 12:40:58,966 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:40:58,967 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:40:58,967 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:40:58,967 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:40:58,967 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 92 states, 68 states have (on average 1.1323529411764706) internal successors, (77), 68 states have internal predecessors, (77), 13 states have call successors, (13), 12 states have call predecessors, (13), 10 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:40:58,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 101 transitions. [2022-04-28 12:40:58,969 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 101 transitions. Word has length 86 [2022-04-28 12:40:58,969 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:40:58,969 INFO L495 AbstractCegarLoop]: Abstraction has 92 states and 101 transitions. [2022-04-28 12:40:58,969 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 5.545454545454546) internal successors, (61), 10 states have internal predecessors, (61), 10 states have call successors, (12), 10 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 9 states have call successors, (10) [2022-04-28 12:40:58,969 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 92 states and 101 transitions. [2022-04-28 12:41:01,068 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:41:01,069 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 101 transitions. [2022-04-28 12:41:01,069 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 96 [2022-04-28 12:41:01,069 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:41:01,069 INFO L195 NwaCegarLoop]: trace histogram [9, 9, 8, 8, 8, 8, 8, 8, 8, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:41:01,085 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-28 12:41:01,270 WARN L477 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-28 12:41:01,270 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:41:01,271 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:41:01,271 INFO L85 PathProgramCache]: Analyzing trace with hash -399923690, now seen corresponding path program 15 times [2022-04-28 12:41:01,271 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:41:01,271 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1870315694] [2022-04-28 12:41:01,272 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:41:01,274 INFO L85 PathProgramCache]: Analyzing trace with hash -399923690, now seen corresponding path program 16 times [2022-04-28 12:41:01,274 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:41:01,275 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2084590051] [2022-04-28 12:41:01,275 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:41:01,275 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:41:01,295 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:41:01,295 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1992505795] [2022-04-28 12:41:01,295 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:41:01,295 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:41:01,295 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:41:01,296 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-28 12:41:01,298 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-28 12:41:01,457 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:41:01,457 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:41:01,458 INFO L263 TraceCheckSpWp]: Trace formula consists of 253 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 12:41:01,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:41:01,478 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:41:01,947 INFO L272 TraceCheckUtils]: 0: Hoare triple {6643#true} call ULTIMATE.init(); {6643#true} is VALID [2022-04-28 12:41:01,948 INFO L290 TraceCheckUtils]: 1: Hoare triple {6643#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; {6651#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:01,948 INFO L290 TraceCheckUtils]: 2: Hoare triple {6651#(<= ~counter~0 0)} assume true; {6651#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:01,948 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6651#(<= ~counter~0 0)} {6643#true} #67#return; {6651#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:01,949 INFO L272 TraceCheckUtils]: 4: Hoare triple {6651#(<= ~counter~0 0)} call #t~ret7 := main(); {6651#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:01,949 INFO L290 TraceCheckUtils]: 5: Hoare triple {6651#(<= ~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; {6651#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:01,949 INFO L272 TraceCheckUtils]: 6: Hoare triple {6651#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {6651#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:01,950 INFO L290 TraceCheckUtils]: 7: Hoare triple {6651#(<= ~counter~0 0)} ~cond := #in~cond; {6651#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:01,950 INFO L290 TraceCheckUtils]: 8: Hoare triple {6651#(<= ~counter~0 0)} assume !(0 == ~cond); {6651#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:01,950 INFO L290 TraceCheckUtils]: 9: Hoare triple {6651#(<= ~counter~0 0)} assume true; {6651#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:01,951 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6651#(<= ~counter~0 0)} {6651#(<= ~counter~0 0)} #59#return; {6651#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:01,951 INFO L272 TraceCheckUtils]: 11: Hoare triple {6651#(<= ~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)); {6651#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:01,951 INFO L290 TraceCheckUtils]: 12: Hoare triple {6651#(<= ~counter~0 0)} ~cond := #in~cond; {6651#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:01,952 INFO L290 TraceCheckUtils]: 13: Hoare triple {6651#(<= ~counter~0 0)} assume !(0 == ~cond); {6651#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:01,952 INFO L290 TraceCheckUtils]: 14: Hoare triple {6651#(<= ~counter~0 0)} assume true; {6651#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:01,952 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6651#(<= ~counter~0 0)} {6651#(<= ~counter~0 0)} #61#return; {6651#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:01,953 INFO L290 TraceCheckUtils]: 16: Hoare triple {6651#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {6651#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:01,954 INFO L290 TraceCheckUtils]: 17: Hoare triple {6651#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6700#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:01,954 INFO L290 TraceCheckUtils]: 18: Hoare triple {6700#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {6700#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:01,955 INFO L272 TraceCheckUtils]: 19: Hoare triple {6700#(<= ~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)); {6700#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:01,955 INFO L290 TraceCheckUtils]: 20: Hoare triple {6700#(<= ~counter~0 1)} ~cond := #in~cond; {6700#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:01,955 INFO L290 TraceCheckUtils]: 21: Hoare triple {6700#(<= ~counter~0 1)} assume !(0 == ~cond); {6700#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:01,956 INFO L290 TraceCheckUtils]: 22: Hoare triple {6700#(<= ~counter~0 1)} assume true; {6700#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:01,956 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6700#(<= ~counter~0 1)} {6700#(<= ~counter~0 1)} #63#return; {6700#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:01,956 INFO L290 TraceCheckUtils]: 24: Hoare triple {6700#(<= ~counter~0 1)} assume !!(0 != ~r~0); {6700#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:01,957 INFO L290 TraceCheckUtils]: 25: Hoare triple {6700#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6700#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:01,957 INFO L290 TraceCheckUtils]: 26: Hoare triple {6700#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6728#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:01,957 INFO L290 TraceCheckUtils]: 27: Hoare triple {6728#(<= ~counter~0 2)} assume !!(#t~post6 < 10);havoc #t~post6; {6728#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:01,958 INFO L272 TraceCheckUtils]: 28: Hoare triple {6728#(<= ~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)); {6728#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:01,958 INFO L290 TraceCheckUtils]: 29: Hoare triple {6728#(<= ~counter~0 2)} ~cond := #in~cond; {6728#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:01,958 INFO L290 TraceCheckUtils]: 30: Hoare triple {6728#(<= ~counter~0 2)} assume !(0 == ~cond); {6728#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:01,959 INFO L290 TraceCheckUtils]: 31: Hoare triple {6728#(<= ~counter~0 2)} assume true; {6728#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:01,959 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6728#(<= ~counter~0 2)} {6728#(<= ~counter~0 2)} #63#return; {6728#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:01,959 INFO L290 TraceCheckUtils]: 33: Hoare triple {6728#(<= ~counter~0 2)} assume !!(0 != ~r~0); {6728#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:01,960 INFO L290 TraceCheckUtils]: 34: Hoare triple {6728#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6728#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:01,960 INFO L290 TraceCheckUtils]: 35: Hoare triple {6728#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6756#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:01,963 INFO L290 TraceCheckUtils]: 36: Hoare triple {6756#(<= ~counter~0 3)} assume !!(#t~post6 < 10);havoc #t~post6; {6756#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:01,964 INFO L272 TraceCheckUtils]: 37: Hoare triple {6756#(<= ~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)); {6756#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:01,964 INFO L290 TraceCheckUtils]: 38: Hoare triple {6756#(<= ~counter~0 3)} ~cond := #in~cond; {6756#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:01,964 INFO L290 TraceCheckUtils]: 39: Hoare triple {6756#(<= ~counter~0 3)} assume !(0 == ~cond); {6756#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:01,965 INFO L290 TraceCheckUtils]: 40: Hoare triple {6756#(<= ~counter~0 3)} assume true; {6756#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:01,965 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6756#(<= ~counter~0 3)} {6756#(<= ~counter~0 3)} #63#return; {6756#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:01,966 INFO L290 TraceCheckUtils]: 42: Hoare triple {6756#(<= ~counter~0 3)} assume !!(0 != ~r~0); {6756#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:01,966 INFO L290 TraceCheckUtils]: 43: Hoare triple {6756#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6756#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:01,967 INFO L290 TraceCheckUtils]: 44: Hoare triple {6756#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6784#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:01,967 INFO L290 TraceCheckUtils]: 45: Hoare triple {6784#(<= ~counter~0 4)} assume !!(#t~post6 < 10);havoc #t~post6; {6784#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:01,968 INFO L272 TraceCheckUtils]: 46: Hoare triple {6784#(<= ~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)); {6784#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:01,968 INFO L290 TraceCheckUtils]: 47: Hoare triple {6784#(<= ~counter~0 4)} ~cond := #in~cond; {6784#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:01,969 INFO L290 TraceCheckUtils]: 48: Hoare triple {6784#(<= ~counter~0 4)} assume !(0 == ~cond); {6784#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:01,969 INFO L290 TraceCheckUtils]: 49: Hoare triple {6784#(<= ~counter~0 4)} assume true; {6784#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:01,970 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6784#(<= ~counter~0 4)} {6784#(<= ~counter~0 4)} #63#return; {6784#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:01,970 INFO L290 TraceCheckUtils]: 51: Hoare triple {6784#(<= ~counter~0 4)} assume !!(0 != ~r~0); {6784#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:01,971 INFO L290 TraceCheckUtils]: 52: Hoare triple {6784#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6784#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:01,971 INFO L290 TraceCheckUtils]: 53: Hoare triple {6784#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6812#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:01,972 INFO L290 TraceCheckUtils]: 54: Hoare triple {6812#(<= ~counter~0 5)} assume !!(#t~post6 < 10);havoc #t~post6; {6812#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:01,972 INFO L272 TraceCheckUtils]: 55: Hoare triple {6812#(<= ~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)); {6812#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:01,973 INFO L290 TraceCheckUtils]: 56: Hoare triple {6812#(<= ~counter~0 5)} ~cond := #in~cond; {6812#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:01,973 INFO L290 TraceCheckUtils]: 57: Hoare triple {6812#(<= ~counter~0 5)} assume !(0 == ~cond); {6812#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:01,973 INFO L290 TraceCheckUtils]: 58: Hoare triple {6812#(<= ~counter~0 5)} assume true; {6812#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:01,974 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6812#(<= ~counter~0 5)} {6812#(<= ~counter~0 5)} #63#return; {6812#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:01,975 INFO L290 TraceCheckUtils]: 60: Hoare triple {6812#(<= ~counter~0 5)} assume !!(0 != ~r~0); {6812#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:01,975 INFO L290 TraceCheckUtils]: 61: Hoare triple {6812#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6812#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:01,976 INFO L290 TraceCheckUtils]: 62: Hoare triple {6812#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6840#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:01,976 INFO L290 TraceCheckUtils]: 63: Hoare triple {6840#(<= ~counter~0 6)} assume !!(#t~post6 < 10);havoc #t~post6; {6840#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:01,977 INFO L272 TraceCheckUtils]: 64: Hoare triple {6840#(<= ~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)); {6840#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:01,977 INFO L290 TraceCheckUtils]: 65: Hoare triple {6840#(<= ~counter~0 6)} ~cond := #in~cond; {6840#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:01,978 INFO L290 TraceCheckUtils]: 66: Hoare triple {6840#(<= ~counter~0 6)} assume !(0 == ~cond); {6840#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:01,978 INFO L290 TraceCheckUtils]: 67: Hoare triple {6840#(<= ~counter~0 6)} assume true; {6840#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:01,979 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6840#(<= ~counter~0 6)} {6840#(<= ~counter~0 6)} #63#return; {6840#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:01,979 INFO L290 TraceCheckUtils]: 69: Hoare triple {6840#(<= ~counter~0 6)} assume !!(0 != ~r~0); {6840#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:01,979 INFO L290 TraceCheckUtils]: 70: Hoare triple {6840#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6840#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:01,980 INFO L290 TraceCheckUtils]: 71: Hoare triple {6840#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6868#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:01,980 INFO L290 TraceCheckUtils]: 72: Hoare triple {6868#(<= ~counter~0 7)} assume !!(#t~post6 < 10);havoc #t~post6; {6868#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:01,981 INFO L272 TraceCheckUtils]: 73: Hoare triple {6868#(<= ~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)); {6868#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:01,981 INFO L290 TraceCheckUtils]: 74: Hoare triple {6868#(<= ~counter~0 7)} ~cond := #in~cond; {6868#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:01,982 INFO L290 TraceCheckUtils]: 75: Hoare triple {6868#(<= ~counter~0 7)} assume !(0 == ~cond); {6868#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:01,982 INFO L290 TraceCheckUtils]: 76: Hoare triple {6868#(<= ~counter~0 7)} assume true; {6868#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:01,983 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {6868#(<= ~counter~0 7)} {6868#(<= ~counter~0 7)} #63#return; {6868#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:01,983 INFO L290 TraceCheckUtils]: 78: Hoare triple {6868#(<= ~counter~0 7)} assume !!(0 != ~r~0); {6868#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:01,984 INFO L290 TraceCheckUtils]: 79: Hoare triple {6868#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6868#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:01,984 INFO L290 TraceCheckUtils]: 80: Hoare triple {6868#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6896#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:01,984 INFO L290 TraceCheckUtils]: 81: Hoare triple {6896#(<= ~counter~0 8)} assume !!(#t~post6 < 10);havoc #t~post6; {6896#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:01,985 INFO L272 TraceCheckUtils]: 82: Hoare triple {6896#(<= ~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)); {6896#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:01,986 INFO L290 TraceCheckUtils]: 83: Hoare triple {6896#(<= ~counter~0 8)} ~cond := #in~cond; {6896#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:01,986 INFO L290 TraceCheckUtils]: 84: Hoare triple {6896#(<= ~counter~0 8)} assume !(0 == ~cond); {6896#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:01,986 INFO L290 TraceCheckUtils]: 85: Hoare triple {6896#(<= ~counter~0 8)} assume true; {6896#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:01,987 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6896#(<= ~counter~0 8)} {6896#(<= ~counter~0 8)} #63#return; {6896#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:01,987 INFO L290 TraceCheckUtils]: 87: Hoare triple {6896#(<= ~counter~0 8)} assume !!(0 != ~r~0); {6896#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:01,988 INFO L290 TraceCheckUtils]: 88: Hoare triple {6896#(<= ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6896#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:01,988 INFO L290 TraceCheckUtils]: 89: Hoare triple {6896#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6924#(<= |main_#t~post6| 8)} is VALID [2022-04-28 12:41:01,989 INFO L290 TraceCheckUtils]: 90: Hoare triple {6924#(<= |main_#t~post6| 8)} assume !(#t~post6 < 10);havoc #t~post6; {6644#false} is VALID [2022-04-28 12:41:01,989 INFO L272 TraceCheckUtils]: 91: Hoare triple {6644#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)); {6644#false} is VALID [2022-04-28 12:41:01,989 INFO L290 TraceCheckUtils]: 92: Hoare triple {6644#false} ~cond := #in~cond; {6644#false} is VALID [2022-04-28 12:41:01,989 INFO L290 TraceCheckUtils]: 93: Hoare triple {6644#false} assume 0 == ~cond; {6644#false} is VALID [2022-04-28 12:41:01,989 INFO L290 TraceCheckUtils]: 94: Hoare triple {6644#false} assume !false; {6644#false} is VALID [2022-04-28 12:41:01,989 INFO L134 CoverageAnalysis]: Checked inductivity of 288 backedges. 16 proven. 268 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:41:01,989 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:41:02,474 INFO L290 TraceCheckUtils]: 94: Hoare triple {6644#false} assume !false; {6644#false} is VALID [2022-04-28 12:41:02,475 INFO L290 TraceCheckUtils]: 93: Hoare triple {6644#false} assume 0 == ~cond; {6644#false} is VALID [2022-04-28 12:41:02,475 INFO L290 TraceCheckUtils]: 92: Hoare triple {6644#false} ~cond := #in~cond; {6644#false} is VALID [2022-04-28 12:41:02,475 INFO L272 TraceCheckUtils]: 91: Hoare triple {6644#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)); {6644#false} is VALID [2022-04-28 12:41:02,475 INFO L290 TraceCheckUtils]: 90: Hoare triple {6952#(< |main_#t~post6| 10)} assume !(#t~post6 < 10);havoc #t~post6; {6644#false} is VALID [2022-04-28 12:41:02,476 INFO L290 TraceCheckUtils]: 89: Hoare triple {6956#(< ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6952#(< |main_#t~post6| 10)} is VALID [2022-04-28 12:41:02,476 INFO L290 TraceCheckUtils]: 88: Hoare triple {6956#(< ~counter~0 10)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6956#(< ~counter~0 10)} is VALID [2022-04-28 12:41:02,476 INFO L290 TraceCheckUtils]: 87: Hoare triple {6956#(< ~counter~0 10)} assume !!(0 != ~r~0); {6956#(< ~counter~0 10)} is VALID [2022-04-28 12:41:02,477 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6643#true} {6956#(< ~counter~0 10)} #63#return; {6956#(< ~counter~0 10)} is VALID [2022-04-28 12:41:02,477 INFO L290 TraceCheckUtils]: 85: Hoare triple {6643#true} assume true; {6643#true} is VALID [2022-04-28 12:41:02,477 INFO L290 TraceCheckUtils]: 84: Hoare triple {6643#true} assume !(0 == ~cond); {6643#true} is VALID [2022-04-28 12:41:02,477 INFO L290 TraceCheckUtils]: 83: Hoare triple {6643#true} ~cond := #in~cond; {6643#true} is VALID [2022-04-28 12:41:02,477 INFO L272 TraceCheckUtils]: 82: Hoare triple {6956#(< ~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)); {6643#true} is VALID [2022-04-28 12:41:02,477 INFO L290 TraceCheckUtils]: 81: Hoare triple {6956#(< ~counter~0 10)} assume !!(#t~post6 < 10);havoc #t~post6; {6956#(< ~counter~0 10)} is VALID [2022-04-28 12:41:02,478 INFO L290 TraceCheckUtils]: 80: Hoare triple {6896#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6956#(< ~counter~0 10)} is VALID [2022-04-28 12:41:02,478 INFO L290 TraceCheckUtils]: 79: Hoare triple {6896#(<= ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6896#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:02,478 INFO L290 TraceCheckUtils]: 78: Hoare triple {6896#(<= ~counter~0 8)} assume !!(0 != ~r~0); {6896#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:02,479 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {6643#true} {6896#(<= ~counter~0 8)} #63#return; {6896#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:02,479 INFO L290 TraceCheckUtils]: 76: Hoare triple {6643#true} assume true; {6643#true} is VALID [2022-04-28 12:41:02,479 INFO L290 TraceCheckUtils]: 75: Hoare triple {6643#true} assume !(0 == ~cond); {6643#true} is VALID [2022-04-28 12:41:02,479 INFO L290 TraceCheckUtils]: 74: Hoare triple {6643#true} ~cond := #in~cond; {6643#true} is VALID [2022-04-28 12:41:02,479 INFO L272 TraceCheckUtils]: 73: Hoare triple {6896#(<= ~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)); {6643#true} is VALID [2022-04-28 12:41:02,479 INFO L290 TraceCheckUtils]: 72: Hoare triple {6896#(<= ~counter~0 8)} assume !!(#t~post6 < 10);havoc #t~post6; {6896#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:02,480 INFO L290 TraceCheckUtils]: 71: Hoare triple {6868#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6896#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:02,480 INFO L290 TraceCheckUtils]: 70: Hoare triple {6868#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6868#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:02,480 INFO L290 TraceCheckUtils]: 69: Hoare triple {6868#(<= ~counter~0 7)} assume !!(0 != ~r~0); {6868#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:02,481 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6643#true} {6868#(<= ~counter~0 7)} #63#return; {6868#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:02,481 INFO L290 TraceCheckUtils]: 67: Hoare triple {6643#true} assume true; {6643#true} is VALID [2022-04-28 12:41:02,481 INFO L290 TraceCheckUtils]: 66: Hoare triple {6643#true} assume !(0 == ~cond); {6643#true} is VALID [2022-04-28 12:41:02,481 INFO L290 TraceCheckUtils]: 65: Hoare triple {6643#true} ~cond := #in~cond; {6643#true} is VALID [2022-04-28 12:41:02,481 INFO L272 TraceCheckUtils]: 64: Hoare triple {6868#(<= ~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)); {6643#true} is VALID [2022-04-28 12:41:02,481 INFO L290 TraceCheckUtils]: 63: Hoare triple {6868#(<= ~counter~0 7)} assume !!(#t~post6 < 10);havoc #t~post6; {6868#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:02,482 INFO L290 TraceCheckUtils]: 62: Hoare triple {6840#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6868#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:02,482 INFO L290 TraceCheckUtils]: 61: Hoare triple {6840#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6840#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:02,482 INFO L290 TraceCheckUtils]: 60: Hoare triple {6840#(<= ~counter~0 6)} assume !!(0 != ~r~0); {6840#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:02,483 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6643#true} {6840#(<= ~counter~0 6)} #63#return; {6840#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:02,483 INFO L290 TraceCheckUtils]: 58: Hoare triple {6643#true} assume true; {6643#true} is VALID [2022-04-28 12:41:02,483 INFO L290 TraceCheckUtils]: 57: Hoare triple {6643#true} assume !(0 == ~cond); {6643#true} is VALID [2022-04-28 12:41:02,483 INFO L290 TraceCheckUtils]: 56: Hoare triple {6643#true} ~cond := #in~cond; {6643#true} is VALID [2022-04-28 12:41:02,483 INFO L272 TraceCheckUtils]: 55: Hoare triple {6840#(<= ~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)); {6643#true} is VALID [2022-04-28 12:41:02,497 INFO L290 TraceCheckUtils]: 54: Hoare triple {6840#(<= ~counter~0 6)} assume !!(#t~post6 < 10);havoc #t~post6; {6840#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:02,498 INFO L290 TraceCheckUtils]: 53: Hoare triple {6812#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6840#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:02,499 INFO L290 TraceCheckUtils]: 52: Hoare triple {6812#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6812#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:02,499 INFO L290 TraceCheckUtils]: 51: Hoare triple {6812#(<= ~counter~0 5)} assume !!(0 != ~r~0); {6812#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:02,500 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6643#true} {6812#(<= ~counter~0 5)} #63#return; {6812#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:02,500 INFO L290 TraceCheckUtils]: 49: Hoare triple {6643#true} assume true; {6643#true} is VALID [2022-04-28 12:41:02,500 INFO L290 TraceCheckUtils]: 48: Hoare triple {6643#true} assume !(0 == ~cond); {6643#true} is VALID [2022-04-28 12:41:02,500 INFO L290 TraceCheckUtils]: 47: Hoare triple {6643#true} ~cond := #in~cond; {6643#true} is VALID [2022-04-28 12:41:02,500 INFO L272 TraceCheckUtils]: 46: Hoare triple {6812#(<= ~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)); {6643#true} is VALID [2022-04-28 12:41:02,500 INFO L290 TraceCheckUtils]: 45: Hoare triple {6812#(<= ~counter~0 5)} assume !!(#t~post6 < 10);havoc #t~post6; {6812#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:02,501 INFO L290 TraceCheckUtils]: 44: Hoare triple {6784#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6812#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:02,501 INFO L290 TraceCheckUtils]: 43: Hoare triple {6784#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6784#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:02,501 INFO L290 TraceCheckUtils]: 42: Hoare triple {6784#(<= ~counter~0 4)} assume !!(0 != ~r~0); {6784#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:02,502 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6643#true} {6784#(<= ~counter~0 4)} #63#return; {6784#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:02,502 INFO L290 TraceCheckUtils]: 40: Hoare triple {6643#true} assume true; {6643#true} is VALID [2022-04-28 12:41:02,502 INFO L290 TraceCheckUtils]: 39: Hoare triple {6643#true} assume !(0 == ~cond); {6643#true} is VALID [2022-04-28 12:41:02,502 INFO L290 TraceCheckUtils]: 38: Hoare triple {6643#true} ~cond := #in~cond; {6643#true} is VALID [2022-04-28 12:41:02,502 INFO L272 TraceCheckUtils]: 37: Hoare triple {6784#(<= ~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)); {6643#true} is VALID [2022-04-28 12:41:02,502 INFO L290 TraceCheckUtils]: 36: Hoare triple {6784#(<= ~counter~0 4)} assume !!(#t~post6 < 10);havoc #t~post6; {6784#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:02,503 INFO L290 TraceCheckUtils]: 35: Hoare triple {6756#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6784#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:02,503 INFO L290 TraceCheckUtils]: 34: Hoare triple {6756#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6756#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:02,503 INFO L290 TraceCheckUtils]: 33: Hoare triple {6756#(<= ~counter~0 3)} assume !!(0 != ~r~0); {6756#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:02,504 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6643#true} {6756#(<= ~counter~0 3)} #63#return; {6756#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:02,504 INFO L290 TraceCheckUtils]: 31: Hoare triple {6643#true} assume true; {6643#true} is VALID [2022-04-28 12:41:02,504 INFO L290 TraceCheckUtils]: 30: Hoare triple {6643#true} assume !(0 == ~cond); {6643#true} is VALID [2022-04-28 12:41:02,504 INFO L290 TraceCheckUtils]: 29: Hoare triple {6643#true} ~cond := #in~cond; {6643#true} is VALID [2022-04-28 12:41:02,504 INFO L272 TraceCheckUtils]: 28: Hoare triple {6756#(<= ~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)); {6643#true} is VALID [2022-04-28 12:41:02,504 INFO L290 TraceCheckUtils]: 27: Hoare triple {6756#(<= ~counter~0 3)} assume !!(#t~post6 < 10);havoc #t~post6; {6756#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:02,505 INFO L290 TraceCheckUtils]: 26: Hoare triple {6728#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6756#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:02,505 INFO L290 TraceCheckUtils]: 25: Hoare triple {6728#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {6728#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:02,505 INFO L290 TraceCheckUtils]: 24: Hoare triple {6728#(<= ~counter~0 2)} assume !!(0 != ~r~0); {6728#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:02,506 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6643#true} {6728#(<= ~counter~0 2)} #63#return; {6728#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:02,506 INFO L290 TraceCheckUtils]: 22: Hoare triple {6643#true} assume true; {6643#true} is VALID [2022-04-28 12:41:02,506 INFO L290 TraceCheckUtils]: 21: Hoare triple {6643#true} assume !(0 == ~cond); {6643#true} is VALID [2022-04-28 12:41:02,506 INFO L290 TraceCheckUtils]: 20: Hoare triple {6643#true} ~cond := #in~cond; {6643#true} is VALID [2022-04-28 12:41:02,506 INFO L272 TraceCheckUtils]: 19: Hoare triple {6728#(<= ~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)); {6643#true} is VALID [2022-04-28 12:41:02,506 INFO L290 TraceCheckUtils]: 18: Hoare triple {6728#(<= ~counter~0 2)} assume !!(#t~post6 < 10);havoc #t~post6; {6728#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:02,507 INFO L290 TraceCheckUtils]: 17: Hoare triple {6700#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6728#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:02,507 INFO L290 TraceCheckUtils]: 16: Hoare triple {6700#(<= ~counter~0 1)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {6700#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:02,508 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6643#true} {6700#(<= ~counter~0 1)} #61#return; {6700#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:02,508 INFO L290 TraceCheckUtils]: 14: Hoare triple {6643#true} assume true; {6643#true} is VALID [2022-04-28 12:41:02,508 INFO L290 TraceCheckUtils]: 13: Hoare triple {6643#true} assume !(0 == ~cond); {6643#true} is VALID [2022-04-28 12:41:02,508 INFO L290 TraceCheckUtils]: 12: Hoare triple {6643#true} ~cond := #in~cond; {6643#true} is VALID [2022-04-28 12:41:02,508 INFO L272 TraceCheckUtils]: 11: Hoare triple {6700#(<= ~counter~0 1)} 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)); {6643#true} is VALID [2022-04-28 12:41:02,508 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6643#true} {6700#(<= ~counter~0 1)} #59#return; {6700#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:02,508 INFO L290 TraceCheckUtils]: 9: Hoare triple {6643#true} assume true; {6643#true} is VALID [2022-04-28 12:41:02,508 INFO L290 TraceCheckUtils]: 8: Hoare triple {6643#true} assume !(0 == ~cond); {6643#true} is VALID [2022-04-28 12:41:02,508 INFO L290 TraceCheckUtils]: 7: Hoare triple {6643#true} ~cond := #in~cond; {6643#true} is VALID [2022-04-28 12:41:02,509 INFO L272 TraceCheckUtils]: 6: Hoare triple {6700#(<= ~counter~0 1)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {6643#true} is VALID [2022-04-28 12:41:02,509 INFO L290 TraceCheckUtils]: 5: Hoare triple {6700#(<= ~counter~0 1)} 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; {6700#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:02,509 INFO L272 TraceCheckUtils]: 4: Hoare triple {6700#(<= ~counter~0 1)} call #t~ret7 := main(); {6700#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:02,509 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6700#(<= ~counter~0 1)} {6643#true} #67#return; {6700#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:02,510 INFO L290 TraceCheckUtils]: 2: Hoare triple {6700#(<= ~counter~0 1)} assume true; {6700#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:02,510 INFO L290 TraceCheckUtils]: 1: Hoare triple {6643#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; {6700#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:02,510 INFO L272 TraceCheckUtils]: 0: Hoare triple {6643#true} call ULTIMATE.init(); {6643#true} is VALID [2022-04-28 12:41:02,511 INFO L134 CoverageAnalysis]: Checked inductivity of 288 backedges. 16 proven. 156 refuted. 0 times theorem prover too weak. 116 trivial. 0 not checked. [2022-04-28 12:41:02,511 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:41:02,511 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2084590051] [2022-04-28 12:41:02,511 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:41:02,511 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1992505795] [2022-04-28 12:41:02,511 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1992505795] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:41:02,511 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:41:02,511 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 14 [2022-04-28 12:41:02,511 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:41:02,512 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1870315694] [2022-04-28 12:41:02,512 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1870315694] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:41:02,512 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:41:02,512 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 12:41:02,512 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1843767958] [2022-04-28 12:41:02,512 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:41:02,512 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 5.666666666666667) internal successors, (68), 11 states have internal predecessors, (68), 11 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 10 states have call successors, (11) Word has length 95 [2022-04-28 12:41:02,512 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:41:02,513 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 5.666666666666667) internal successors, (68), 11 states have internal predecessors, (68), 11 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-28 12:41:02,579 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:41:02,580 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 12:41:02,580 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:41:02,580 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 12:41:02,580 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:41:02,580 INFO L87 Difference]: Start difference. First operand 92 states and 101 transitions. Second operand has 12 states, 12 states have (on average 5.666666666666667) internal successors, (68), 11 states have internal predecessors, (68), 11 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-28 12:41:02,899 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:41:02,899 INFO L93 Difference]: Finished difference Result 106 states and 116 transitions. [2022-04-28 12:41:02,899 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-28 12:41:02,900 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 5.666666666666667) internal successors, (68), 11 states have internal predecessors, (68), 11 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 10 states have call successors, (11) Word has length 95 [2022-04-28 12:41:02,900 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:41:02,900 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 5.666666666666667) internal successors, (68), 11 states have internal predecessors, (68), 11 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-28 12:41:02,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 115 transitions. [2022-04-28 12:41:02,902 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 5.666666666666667) internal successors, (68), 11 states have internal predecessors, (68), 11 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-28 12:41:02,904 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 115 transitions. [2022-04-28 12:41:02,905 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 115 transitions. [2022-04-28 12:41:02,990 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:41:02,992 INFO L225 Difference]: With dead ends: 106 [2022-04-28 12:41:02,992 INFO L226 Difference]: Without dead ends: 101 [2022-04-28 12:41:02,993 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 197 GetRequests, 176 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 46 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=175, Invalid=287, Unknown=0, NotChecked=0, Total=462 [2022-04-28 12:41:02,993 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 49 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 44 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 49 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 72 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 44 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:41:02,994 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [49 Valid, 128 Invalid, 72 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 44 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:41:02,994 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-28 12:41:03,088 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 101. [2022-04-28 12:41:03,088 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:41:03,089 INFO L82 GeneralOperation]: Start isEquivalent. First operand 101 states. Second operand has 101 states, 75 states have (on average 1.1333333333333333) internal successors, (85), 75 states have internal predecessors, (85), 14 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:41:03,089 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand has 101 states, 75 states have (on average 1.1333333333333333) internal successors, (85), 75 states have internal predecessors, (85), 14 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:41:03,089 INFO L87 Difference]: Start difference. First operand 101 states. Second operand has 101 states, 75 states have (on average 1.1333333333333333) internal successors, (85), 75 states have internal predecessors, (85), 14 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:41:03,091 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:41:03,091 INFO L93 Difference]: Finished difference Result 101 states and 111 transitions. [2022-04-28 12:41:03,091 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-28 12:41:03,092 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:41:03,092 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:41:03,092 INFO L74 IsIncluded]: Start isIncluded. First operand has 101 states, 75 states have (on average 1.1333333333333333) internal successors, (85), 75 states have internal predecessors, (85), 14 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 101 states. [2022-04-28 12:41:03,092 INFO L87 Difference]: Start difference. First operand has 101 states, 75 states have (on average 1.1333333333333333) internal successors, (85), 75 states have internal predecessors, (85), 14 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 101 states. [2022-04-28 12:41:03,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:41:03,094 INFO L93 Difference]: Finished difference Result 101 states and 111 transitions. [2022-04-28 12:41:03,094 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-28 12:41:03,095 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:41:03,095 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:41:03,095 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:41:03,095 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:41:03,095 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 101 states, 75 states have (on average 1.1333333333333333) internal successors, (85), 75 states have internal predecessors, (85), 14 states have call successors, (14), 13 states have call predecessors, (14), 11 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:41:03,097 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 111 transitions. [2022-04-28 12:41:03,097 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 111 transitions. Word has length 95 [2022-04-28 12:41:03,097 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:41:03,097 INFO L495 AbstractCegarLoop]: Abstraction has 101 states and 111 transitions. [2022-04-28 12:41:03,098 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 5.666666666666667) internal successors, (68), 11 states have internal predecessors, (68), 11 states have call successors, (13), 11 states have call predecessors, (13), 9 states have return successors, (11), 9 states have call predecessors, (11), 10 states have call successors, (11) [2022-04-28 12:41:03,098 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 101 states and 111 transitions. [2022-04-28 12:41:04,073 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:41:04,073 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 111 transitions. [2022-04-28 12:41:04,074 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-28 12:41:04,074 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:41:04,074 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 9, 9, 9, 9, 9, 9, 9, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:41:04,092 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-28 12:41:04,279 WARN L477 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-28 12:41:04,279 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:41:04,280 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:41:04,280 INFO L85 PathProgramCache]: Analyzing trace with hash 1717228060, now seen corresponding path program 17 times [2022-04-28 12:41:04,280 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:41:04,280 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2027087038] [2022-04-28 12:41:04,280 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:41:04,280 INFO L85 PathProgramCache]: Analyzing trace with hash 1717228060, now seen corresponding path program 18 times [2022-04-28 12:41:04,280 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:41:04,281 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1208003092] [2022-04-28 12:41:04,281 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:41:04,281 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:41:04,297 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:41:04,298 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [999748478] [2022-04-28 12:41:04,298 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:41:04,298 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:41:04,298 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:41:04,299 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-28 12:41:04,299 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-28 12:41:04,458 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2022-04-28 12:41:04,458 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:41:04,459 INFO L263 TraceCheckSpWp]: Trace formula consists of 273 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 12:41:04,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:41:04,484 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:41:05,017 INFO L272 TraceCheckUtils]: 0: Hoare triple {7858#true} call ULTIMATE.init(); {7858#true} is VALID [2022-04-28 12:41:05,018 INFO L290 TraceCheckUtils]: 1: Hoare triple {7858#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; {7866#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:05,018 INFO L290 TraceCheckUtils]: 2: Hoare triple {7866#(<= ~counter~0 0)} assume true; {7866#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:05,018 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7866#(<= ~counter~0 0)} {7858#true} #67#return; {7866#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:05,019 INFO L272 TraceCheckUtils]: 4: Hoare triple {7866#(<= ~counter~0 0)} call #t~ret7 := main(); {7866#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:05,019 INFO L290 TraceCheckUtils]: 5: Hoare triple {7866#(<= ~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; {7866#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:05,019 INFO L272 TraceCheckUtils]: 6: Hoare triple {7866#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {7866#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:05,020 INFO L290 TraceCheckUtils]: 7: Hoare triple {7866#(<= ~counter~0 0)} ~cond := #in~cond; {7866#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:05,020 INFO L290 TraceCheckUtils]: 8: Hoare triple {7866#(<= ~counter~0 0)} assume !(0 == ~cond); {7866#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:05,020 INFO L290 TraceCheckUtils]: 9: Hoare triple {7866#(<= ~counter~0 0)} assume true; {7866#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:05,021 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7866#(<= ~counter~0 0)} {7866#(<= ~counter~0 0)} #59#return; {7866#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:05,021 INFO L272 TraceCheckUtils]: 11: Hoare triple {7866#(<= ~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)); {7866#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:05,021 INFO L290 TraceCheckUtils]: 12: Hoare triple {7866#(<= ~counter~0 0)} ~cond := #in~cond; {7866#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:05,021 INFO L290 TraceCheckUtils]: 13: Hoare triple {7866#(<= ~counter~0 0)} assume !(0 == ~cond); {7866#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:05,022 INFO L290 TraceCheckUtils]: 14: Hoare triple {7866#(<= ~counter~0 0)} assume true; {7866#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:05,022 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7866#(<= ~counter~0 0)} {7866#(<= ~counter~0 0)} #61#return; {7866#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:05,023 INFO L290 TraceCheckUtils]: 16: Hoare triple {7866#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {7866#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:05,023 INFO L290 TraceCheckUtils]: 17: Hoare triple {7866#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7915#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:05,024 INFO L290 TraceCheckUtils]: 18: Hoare triple {7915#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {7915#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:05,024 INFO L272 TraceCheckUtils]: 19: Hoare triple {7915#(<= ~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)); {7915#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:05,024 INFO L290 TraceCheckUtils]: 20: Hoare triple {7915#(<= ~counter~0 1)} ~cond := #in~cond; {7915#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:05,025 INFO L290 TraceCheckUtils]: 21: Hoare triple {7915#(<= ~counter~0 1)} assume !(0 == ~cond); {7915#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:05,025 INFO L290 TraceCheckUtils]: 22: Hoare triple {7915#(<= ~counter~0 1)} assume true; {7915#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:05,025 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7915#(<= ~counter~0 1)} {7915#(<= ~counter~0 1)} #63#return; {7915#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:05,026 INFO L290 TraceCheckUtils]: 24: Hoare triple {7915#(<= ~counter~0 1)} assume !!(0 != ~r~0); {7915#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:05,026 INFO L290 TraceCheckUtils]: 25: Hoare triple {7915#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {7915#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:05,026 INFO L290 TraceCheckUtils]: 26: Hoare triple {7915#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7943#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:05,027 INFO L290 TraceCheckUtils]: 27: Hoare triple {7943#(<= ~counter~0 2)} assume !!(#t~post6 < 10);havoc #t~post6; {7943#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:05,027 INFO L272 TraceCheckUtils]: 28: Hoare triple {7943#(<= ~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)); {7943#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:05,028 INFO L290 TraceCheckUtils]: 29: Hoare triple {7943#(<= ~counter~0 2)} ~cond := #in~cond; {7943#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:05,028 INFO L290 TraceCheckUtils]: 30: Hoare triple {7943#(<= ~counter~0 2)} assume !(0 == ~cond); {7943#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:05,028 INFO L290 TraceCheckUtils]: 31: Hoare triple {7943#(<= ~counter~0 2)} assume true; {7943#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:05,029 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7943#(<= ~counter~0 2)} {7943#(<= ~counter~0 2)} #63#return; {7943#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:05,029 INFO L290 TraceCheckUtils]: 33: Hoare triple {7943#(<= ~counter~0 2)} assume !!(0 != ~r~0); {7943#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:05,029 INFO L290 TraceCheckUtils]: 34: Hoare triple {7943#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {7943#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:05,030 INFO L290 TraceCheckUtils]: 35: Hoare triple {7943#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7971#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:05,030 INFO L290 TraceCheckUtils]: 36: Hoare triple {7971#(<= ~counter~0 3)} assume !!(#t~post6 < 10);havoc #t~post6; {7971#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:05,030 INFO L272 TraceCheckUtils]: 37: Hoare triple {7971#(<= ~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)); {7971#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:05,031 INFO L290 TraceCheckUtils]: 38: Hoare triple {7971#(<= ~counter~0 3)} ~cond := #in~cond; {7971#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:05,031 INFO L290 TraceCheckUtils]: 39: Hoare triple {7971#(<= ~counter~0 3)} assume !(0 == ~cond); {7971#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:05,031 INFO L290 TraceCheckUtils]: 40: Hoare triple {7971#(<= ~counter~0 3)} assume true; {7971#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:05,032 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7971#(<= ~counter~0 3)} {7971#(<= ~counter~0 3)} #63#return; {7971#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:05,032 INFO L290 TraceCheckUtils]: 42: Hoare triple {7971#(<= ~counter~0 3)} assume !!(0 != ~r~0); {7971#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:05,032 INFO L290 TraceCheckUtils]: 43: Hoare triple {7971#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {7971#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:05,033 INFO L290 TraceCheckUtils]: 44: Hoare triple {7971#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7999#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:05,033 INFO L290 TraceCheckUtils]: 45: Hoare triple {7999#(<= ~counter~0 4)} assume !!(#t~post6 < 10);havoc #t~post6; {7999#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:05,033 INFO L272 TraceCheckUtils]: 46: Hoare triple {7999#(<= ~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)); {7999#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:05,034 INFO L290 TraceCheckUtils]: 47: Hoare triple {7999#(<= ~counter~0 4)} ~cond := #in~cond; {7999#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:05,034 INFO L290 TraceCheckUtils]: 48: Hoare triple {7999#(<= ~counter~0 4)} assume !(0 == ~cond); {7999#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:05,034 INFO L290 TraceCheckUtils]: 49: Hoare triple {7999#(<= ~counter~0 4)} assume true; {7999#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:05,035 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7999#(<= ~counter~0 4)} {7999#(<= ~counter~0 4)} #63#return; {7999#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:05,035 INFO L290 TraceCheckUtils]: 51: Hoare triple {7999#(<= ~counter~0 4)} assume !!(0 != ~r~0); {7999#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:05,035 INFO L290 TraceCheckUtils]: 52: Hoare triple {7999#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {7999#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:05,036 INFO L290 TraceCheckUtils]: 53: Hoare triple {7999#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8027#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:05,036 INFO L290 TraceCheckUtils]: 54: Hoare triple {8027#(<= ~counter~0 5)} assume !!(#t~post6 < 10);havoc #t~post6; {8027#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:05,036 INFO L272 TraceCheckUtils]: 55: Hoare triple {8027#(<= ~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)); {8027#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:05,037 INFO L290 TraceCheckUtils]: 56: Hoare triple {8027#(<= ~counter~0 5)} ~cond := #in~cond; {8027#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:05,037 INFO L290 TraceCheckUtils]: 57: Hoare triple {8027#(<= ~counter~0 5)} assume !(0 == ~cond); {8027#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:05,037 INFO L290 TraceCheckUtils]: 58: Hoare triple {8027#(<= ~counter~0 5)} assume true; {8027#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:05,038 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {8027#(<= ~counter~0 5)} {8027#(<= ~counter~0 5)} #63#return; {8027#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:05,038 INFO L290 TraceCheckUtils]: 60: Hoare triple {8027#(<= ~counter~0 5)} assume !!(0 != ~r~0); {8027#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:05,038 INFO L290 TraceCheckUtils]: 61: Hoare triple {8027#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8027#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:05,039 INFO L290 TraceCheckUtils]: 62: Hoare triple {8027#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8055#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:05,047 INFO L290 TraceCheckUtils]: 63: Hoare triple {8055#(<= ~counter~0 6)} assume !!(#t~post6 < 10);havoc #t~post6; {8055#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:05,048 INFO L272 TraceCheckUtils]: 64: Hoare triple {8055#(<= ~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)); {8055#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:05,048 INFO L290 TraceCheckUtils]: 65: Hoare triple {8055#(<= ~counter~0 6)} ~cond := #in~cond; {8055#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:05,049 INFO L290 TraceCheckUtils]: 66: Hoare triple {8055#(<= ~counter~0 6)} assume !(0 == ~cond); {8055#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:05,049 INFO L290 TraceCheckUtils]: 67: Hoare triple {8055#(<= ~counter~0 6)} assume true; {8055#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:05,050 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8055#(<= ~counter~0 6)} {8055#(<= ~counter~0 6)} #63#return; {8055#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:05,050 INFO L290 TraceCheckUtils]: 69: Hoare triple {8055#(<= ~counter~0 6)} assume !!(0 != ~r~0); {8055#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:05,051 INFO L290 TraceCheckUtils]: 70: Hoare triple {8055#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8055#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:05,051 INFO L290 TraceCheckUtils]: 71: Hoare triple {8055#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8083#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:05,052 INFO L290 TraceCheckUtils]: 72: Hoare triple {8083#(<= ~counter~0 7)} assume !!(#t~post6 < 10);havoc #t~post6; {8083#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:05,052 INFO L272 TraceCheckUtils]: 73: Hoare triple {8083#(<= ~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)); {8083#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:05,053 INFO L290 TraceCheckUtils]: 74: Hoare triple {8083#(<= ~counter~0 7)} ~cond := #in~cond; {8083#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:05,053 INFO L290 TraceCheckUtils]: 75: Hoare triple {8083#(<= ~counter~0 7)} assume !(0 == ~cond); {8083#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:05,054 INFO L290 TraceCheckUtils]: 76: Hoare triple {8083#(<= ~counter~0 7)} assume true; {8083#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:05,054 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {8083#(<= ~counter~0 7)} {8083#(<= ~counter~0 7)} #63#return; {8083#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:05,055 INFO L290 TraceCheckUtils]: 78: Hoare triple {8083#(<= ~counter~0 7)} assume !!(0 != ~r~0); {8083#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:05,055 INFO L290 TraceCheckUtils]: 79: Hoare triple {8083#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8083#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:05,056 INFO L290 TraceCheckUtils]: 80: Hoare triple {8083#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8111#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:05,056 INFO L290 TraceCheckUtils]: 81: Hoare triple {8111#(<= ~counter~0 8)} assume !!(#t~post6 < 10);havoc #t~post6; {8111#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:05,057 INFO L272 TraceCheckUtils]: 82: Hoare triple {8111#(<= ~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)); {8111#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:05,057 INFO L290 TraceCheckUtils]: 83: Hoare triple {8111#(<= ~counter~0 8)} ~cond := #in~cond; {8111#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:05,058 INFO L290 TraceCheckUtils]: 84: Hoare triple {8111#(<= ~counter~0 8)} assume !(0 == ~cond); {8111#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:05,058 INFO L290 TraceCheckUtils]: 85: Hoare triple {8111#(<= ~counter~0 8)} assume true; {8111#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:05,059 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {8111#(<= ~counter~0 8)} {8111#(<= ~counter~0 8)} #63#return; {8111#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:05,059 INFO L290 TraceCheckUtils]: 87: Hoare triple {8111#(<= ~counter~0 8)} assume !!(0 != ~r~0); {8111#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:05,059 INFO L290 TraceCheckUtils]: 88: Hoare triple {8111#(<= ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8111#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:05,060 INFO L290 TraceCheckUtils]: 89: Hoare triple {8111#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8139#(<= ~counter~0 9)} is VALID [2022-04-28 12:41:05,060 INFO L290 TraceCheckUtils]: 90: Hoare triple {8139#(<= ~counter~0 9)} assume !!(#t~post6 < 10);havoc #t~post6; {8139#(<= ~counter~0 9)} is VALID [2022-04-28 12:41:05,061 INFO L272 TraceCheckUtils]: 91: Hoare triple {8139#(<= ~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)); {8139#(<= ~counter~0 9)} is VALID [2022-04-28 12:41:05,062 INFO L290 TraceCheckUtils]: 92: Hoare triple {8139#(<= ~counter~0 9)} ~cond := #in~cond; {8139#(<= ~counter~0 9)} is VALID [2022-04-28 12:41:05,062 INFO L290 TraceCheckUtils]: 93: Hoare triple {8139#(<= ~counter~0 9)} assume !(0 == ~cond); {8139#(<= ~counter~0 9)} is VALID [2022-04-28 12:41:05,062 INFO L290 TraceCheckUtils]: 94: Hoare triple {8139#(<= ~counter~0 9)} assume true; {8139#(<= ~counter~0 9)} is VALID [2022-04-28 12:41:05,063 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {8139#(<= ~counter~0 9)} {8139#(<= ~counter~0 9)} #63#return; {8139#(<= ~counter~0 9)} is VALID [2022-04-28 12:41:05,063 INFO L290 TraceCheckUtils]: 96: Hoare triple {8139#(<= ~counter~0 9)} assume !!(0 != ~r~0); {8139#(<= ~counter~0 9)} is VALID [2022-04-28 12:41:05,064 INFO L290 TraceCheckUtils]: 97: Hoare triple {8139#(<= ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8139#(<= ~counter~0 9)} is VALID [2022-04-28 12:41:05,064 INFO L290 TraceCheckUtils]: 98: Hoare triple {8139#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8167#(<= |main_#t~post6| 9)} is VALID [2022-04-28 12:41:05,065 INFO L290 TraceCheckUtils]: 99: Hoare triple {8167#(<= |main_#t~post6| 9)} assume !(#t~post6 < 10);havoc #t~post6; {7859#false} is VALID [2022-04-28 12:41:05,065 INFO L272 TraceCheckUtils]: 100: Hoare triple {7859#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)); {7859#false} is VALID [2022-04-28 12:41:05,065 INFO L290 TraceCheckUtils]: 101: Hoare triple {7859#false} ~cond := #in~cond; {7859#false} is VALID [2022-04-28 12:41:05,065 INFO L290 TraceCheckUtils]: 102: Hoare triple {7859#false} assume 0 == ~cond; {7859#false} is VALID [2022-04-28 12:41:05,065 INFO L290 TraceCheckUtils]: 103: Hoare triple {7859#false} assume !false; {7859#false} is VALID [2022-04-28 12:41:05,066 INFO L134 CoverageAnalysis]: Checked inductivity of 364 backedges. 18 proven. 342 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 12:41:05,066 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:41:05,487 INFO L290 TraceCheckUtils]: 103: Hoare triple {7859#false} assume !false; {7859#false} is VALID [2022-04-28 12:41:05,487 INFO L290 TraceCheckUtils]: 102: Hoare triple {7859#false} assume 0 == ~cond; {7859#false} is VALID [2022-04-28 12:41:05,487 INFO L290 TraceCheckUtils]: 101: Hoare triple {7859#false} ~cond := #in~cond; {7859#false} is VALID [2022-04-28 12:41:05,487 INFO L272 TraceCheckUtils]: 100: Hoare triple {7859#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)); {7859#false} is VALID [2022-04-28 12:41:05,488 INFO L290 TraceCheckUtils]: 99: Hoare triple {8167#(<= |main_#t~post6| 9)} assume !(#t~post6 < 10);havoc #t~post6; {7859#false} is VALID [2022-04-28 12:41:05,488 INFO L290 TraceCheckUtils]: 98: Hoare triple {8139#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8167#(<= |main_#t~post6| 9)} is VALID [2022-04-28 12:41:05,488 INFO L290 TraceCheckUtils]: 97: Hoare triple {8139#(<= ~counter~0 9)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8139#(<= ~counter~0 9)} is VALID [2022-04-28 12:41:05,489 INFO L290 TraceCheckUtils]: 96: Hoare triple {8139#(<= ~counter~0 9)} assume !!(0 != ~r~0); {8139#(<= ~counter~0 9)} is VALID [2022-04-28 12:41:05,489 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {7858#true} {8139#(<= ~counter~0 9)} #63#return; {8139#(<= ~counter~0 9)} is VALID [2022-04-28 12:41:05,489 INFO L290 TraceCheckUtils]: 94: Hoare triple {7858#true} assume true; {7858#true} is VALID [2022-04-28 12:41:05,489 INFO L290 TraceCheckUtils]: 93: Hoare triple {7858#true} assume !(0 == ~cond); {7858#true} is VALID [2022-04-28 12:41:05,489 INFO L290 TraceCheckUtils]: 92: Hoare triple {7858#true} ~cond := #in~cond; {7858#true} is VALID [2022-04-28 12:41:05,489 INFO L272 TraceCheckUtils]: 91: Hoare triple {8139#(<= ~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)); {7858#true} is VALID [2022-04-28 12:41:05,490 INFO L290 TraceCheckUtils]: 90: Hoare triple {8139#(<= ~counter~0 9)} assume !!(#t~post6 < 10);havoc #t~post6; {8139#(<= ~counter~0 9)} is VALID [2022-04-28 12:41:05,490 INFO L290 TraceCheckUtils]: 89: Hoare triple {8111#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8139#(<= ~counter~0 9)} is VALID [2022-04-28 12:41:05,491 INFO L290 TraceCheckUtils]: 88: Hoare triple {8111#(<= ~counter~0 8)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8111#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:05,491 INFO L290 TraceCheckUtils]: 87: Hoare triple {8111#(<= ~counter~0 8)} assume !!(0 != ~r~0); {8111#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:05,491 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {7858#true} {8111#(<= ~counter~0 8)} #63#return; {8111#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:05,491 INFO L290 TraceCheckUtils]: 85: Hoare triple {7858#true} assume true; {7858#true} is VALID [2022-04-28 12:41:05,491 INFO L290 TraceCheckUtils]: 84: Hoare triple {7858#true} assume !(0 == ~cond); {7858#true} is VALID [2022-04-28 12:41:05,492 INFO L290 TraceCheckUtils]: 83: Hoare triple {7858#true} ~cond := #in~cond; {7858#true} is VALID [2022-04-28 12:41:05,492 INFO L272 TraceCheckUtils]: 82: Hoare triple {8111#(<= ~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)); {7858#true} is VALID [2022-04-28 12:41:05,492 INFO L290 TraceCheckUtils]: 81: Hoare triple {8111#(<= ~counter~0 8)} assume !!(#t~post6 < 10);havoc #t~post6; {8111#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:05,492 INFO L290 TraceCheckUtils]: 80: Hoare triple {8083#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8111#(<= ~counter~0 8)} is VALID [2022-04-28 12:41:05,493 INFO L290 TraceCheckUtils]: 79: Hoare triple {8083#(<= ~counter~0 7)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8083#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:05,493 INFO L290 TraceCheckUtils]: 78: Hoare triple {8083#(<= ~counter~0 7)} assume !!(0 != ~r~0); {8083#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:05,493 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {7858#true} {8083#(<= ~counter~0 7)} #63#return; {8083#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:05,493 INFO L290 TraceCheckUtils]: 76: Hoare triple {7858#true} assume true; {7858#true} is VALID [2022-04-28 12:41:05,494 INFO L290 TraceCheckUtils]: 75: Hoare triple {7858#true} assume !(0 == ~cond); {7858#true} is VALID [2022-04-28 12:41:05,494 INFO L290 TraceCheckUtils]: 74: Hoare triple {7858#true} ~cond := #in~cond; {7858#true} is VALID [2022-04-28 12:41:05,494 INFO L272 TraceCheckUtils]: 73: Hoare triple {8083#(<= ~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)); {7858#true} is VALID [2022-04-28 12:41:05,494 INFO L290 TraceCheckUtils]: 72: Hoare triple {8083#(<= ~counter~0 7)} assume !!(#t~post6 < 10);havoc #t~post6; {8083#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:05,494 INFO L290 TraceCheckUtils]: 71: Hoare triple {8055#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8083#(<= ~counter~0 7)} is VALID [2022-04-28 12:41:05,495 INFO L290 TraceCheckUtils]: 70: Hoare triple {8055#(<= ~counter~0 6)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8055#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:05,495 INFO L290 TraceCheckUtils]: 69: Hoare triple {8055#(<= ~counter~0 6)} assume !!(0 != ~r~0); {8055#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:05,495 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {7858#true} {8055#(<= ~counter~0 6)} #63#return; {8055#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:05,496 INFO L290 TraceCheckUtils]: 67: Hoare triple {7858#true} assume true; {7858#true} is VALID [2022-04-28 12:41:05,496 INFO L290 TraceCheckUtils]: 66: Hoare triple {7858#true} assume !(0 == ~cond); {7858#true} is VALID [2022-04-28 12:41:05,496 INFO L290 TraceCheckUtils]: 65: Hoare triple {7858#true} ~cond := #in~cond; {7858#true} is VALID [2022-04-28 12:41:05,496 INFO L272 TraceCheckUtils]: 64: Hoare triple {8055#(<= ~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)); {7858#true} is VALID [2022-04-28 12:41:05,496 INFO L290 TraceCheckUtils]: 63: Hoare triple {8055#(<= ~counter~0 6)} assume !!(#t~post6 < 10);havoc #t~post6; {8055#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:05,496 INFO L290 TraceCheckUtils]: 62: Hoare triple {8027#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8055#(<= ~counter~0 6)} is VALID [2022-04-28 12:41:05,497 INFO L290 TraceCheckUtils]: 61: Hoare triple {8027#(<= ~counter~0 5)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {8027#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:05,497 INFO L290 TraceCheckUtils]: 60: Hoare triple {8027#(<= ~counter~0 5)} assume !!(0 != ~r~0); {8027#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:05,498 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7858#true} {8027#(<= ~counter~0 5)} #63#return; {8027#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:05,498 INFO L290 TraceCheckUtils]: 58: Hoare triple {7858#true} assume true; {7858#true} is VALID [2022-04-28 12:41:05,498 INFO L290 TraceCheckUtils]: 57: Hoare triple {7858#true} assume !(0 == ~cond); {7858#true} is VALID [2022-04-28 12:41:05,498 INFO L290 TraceCheckUtils]: 56: Hoare triple {7858#true} ~cond := #in~cond; {7858#true} is VALID [2022-04-28 12:41:05,498 INFO L272 TraceCheckUtils]: 55: Hoare triple {8027#(<= ~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)); {7858#true} is VALID [2022-04-28 12:41:05,498 INFO L290 TraceCheckUtils]: 54: Hoare triple {8027#(<= ~counter~0 5)} assume !!(#t~post6 < 10);havoc #t~post6; {8027#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:05,499 INFO L290 TraceCheckUtils]: 53: Hoare triple {7999#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8027#(<= ~counter~0 5)} is VALID [2022-04-28 12:41:05,499 INFO L290 TraceCheckUtils]: 52: Hoare triple {7999#(<= ~counter~0 4)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {7999#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:05,499 INFO L290 TraceCheckUtils]: 51: Hoare triple {7999#(<= ~counter~0 4)} assume !!(0 != ~r~0); {7999#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:05,500 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7858#true} {7999#(<= ~counter~0 4)} #63#return; {7999#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:05,500 INFO L290 TraceCheckUtils]: 49: Hoare triple {7858#true} assume true; {7858#true} is VALID [2022-04-28 12:41:05,500 INFO L290 TraceCheckUtils]: 48: Hoare triple {7858#true} assume !(0 == ~cond); {7858#true} is VALID [2022-04-28 12:41:05,500 INFO L290 TraceCheckUtils]: 47: Hoare triple {7858#true} ~cond := #in~cond; {7858#true} is VALID [2022-04-28 12:41:05,500 INFO L272 TraceCheckUtils]: 46: Hoare triple {7999#(<= ~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)); {7858#true} is VALID [2022-04-28 12:41:05,500 INFO L290 TraceCheckUtils]: 45: Hoare triple {7999#(<= ~counter~0 4)} assume !!(#t~post6 < 10);havoc #t~post6; {7999#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:05,501 INFO L290 TraceCheckUtils]: 44: Hoare triple {7971#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7999#(<= ~counter~0 4)} is VALID [2022-04-28 12:41:05,501 INFO L290 TraceCheckUtils]: 43: Hoare triple {7971#(<= ~counter~0 3)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {7971#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:05,501 INFO L290 TraceCheckUtils]: 42: Hoare triple {7971#(<= ~counter~0 3)} assume !!(0 != ~r~0); {7971#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:05,502 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7858#true} {7971#(<= ~counter~0 3)} #63#return; {7971#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:05,502 INFO L290 TraceCheckUtils]: 40: Hoare triple {7858#true} assume true; {7858#true} is VALID [2022-04-28 12:41:05,502 INFO L290 TraceCheckUtils]: 39: Hoare triple {7858#true} assume !(0 == ~cond); {7858#true} is VALID [2022-04-28 12:41:05,502 INFO L290 TraceCheckUtils]: 38: Hoare triple {7858#true} ~cond := #in~cond; {7858#true} is VALID [2022-04-28 12:41:05,502 INFO L272 TraceCheckUtils]: 37: Hoare triple {7971#(<= ~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)); {7858#true} is VALID [2022-04-28 12:41:05,502 INFO L290 TraceCheckUtils]: 36: Hoare triple {7971#(<= ~counter~0 3)} assume !!(#t~post6 < 10);havoc #t~post6; {7971#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:05,503 INFO L290 TraceCheckUtils]: 35: Hoare triple {7943#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7971#(<= ~counter~0 3)} is VALID [2022-04-28 12:41:05,503 INFO L290 TraceCheckUtils]: 34: Hoare triple {7943#(<= ~counter~0 2)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {7943#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:05,503 INFO L290 TraceCheckUtils]: 33: Hoare triple {7943#(<= ~counter~0 2)} assume !!(0 != ~r~0); {7943#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:05,504 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7858#true} {7943#(<= ~counter~0 2)} #63#return; {7943#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:05,504 INFO L290 TraceCheckUtils]: 31: Hoare triple {7858#true} assume true; {7858#true} is VALID [2022-04-28 12:41:05,504 INFO L290 TraceCheckUtils]: 30: Hoare triple {7858#true} assume !(0 == ~cond); {7858#true} is VALID [2022-04-28 12:41:05,504 INFO L290 TraceCheckUtils]: 29: Hoare triple {7858#true} ~cond := #in~cond; {7858#true} is VALID [2022-04-28 12:41:05,504 INFO L272 TraceCheckUtils]: 28: Hoare triple {7943#(<= ~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)); {7858#true} is VALID [2022-04-28 12:41:05,504 INFO L290 TraceCheckUtils]: 27: Hoare triple {7943#(<= ~counter~0 2)} assume !!(#t~post6 < 10);havoc #t~post6; {7943#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:05,505 INFO L290 TraceCheckUtils]: 26: Hoare triple {7915#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7943#(<= ~counter~0 2)} is VALID [2022-04-28 12:41:05,505 INFO L290 TraceCheckUtils]: 25: Hoare triple {7915#(<= ~counter~0 1)} assume ~r~0 > 0;~r~0 := ~r~0 - ~v~0;~v~0 := 2 + ~v~0; {7915#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:05,505 INFO L290 TraceCheckUtils]: 24: Hoare triple {7915#(<= ~counter~0 1)} assume !!(0 != ~r~0); {7915#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:05,506 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7858#true} {7915#(<= ~counter~0 1)} #63#return; {7915#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:05,506 INFO L290 TraceCheckUtils]: 22: Hoare triple {7858#true} assume true; {7858#true} is VALID [2022-04-28 12:41:05,506 INFO L290 TraceCheckUtils]: 21: Hoare triple {7858#true} assume !(0 == ~cond); {7858#true} is VALID [2022-04-28 12:41:05,506 INFO L290 TraceCheckUtils]: 20: Hoare triple {7858#true} ~cond := #in~cond; {7858#true} is VALID [2022-04-28 12:41:05,506 INFO L272 TraceCheckUtils]: 19: Hoare triple {7915#(<= ~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)); {7858#true} is VALID [2022-04-28 12:41:05,506 INFO L290 TraceCheckUtils]: 18: Hoare triple {7915#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {7915#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:05,507 INFO L290 TraceCheckUtils]: 17: Hoare triple {7866#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7915#(<= ~counter~0 1)} is VALID [2022-04-28 12:41:05,507 INFO L290 TraceCheckUtils]: 16: Hoare triple {7866#(<= ~counter~0 0)} ~u~0 := 1 + 2 * ~R~0;~v~0 := 1;~r~0 := ~R~0 * ~R~0 - ~A~0; {7866#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:05,507 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7858#true} {7866#(<= ~counter~0 0)} #61#return; {7866#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:05,508 INFO L290 TraceCheckUtils]: 14: Hoare triple {7858#true} assume true; {7858#true} is VALID [2022-04-28 12:41:05,508 INFO L290 TraceCheckUtils]: 13: Hoare triple {7858#true} assume !(0 == ~cond); {7858#true} is VALID [2022-04-28 12:41:05,508 INFO L290 TraceCheckUtils]: 12: Hoare triple {7858#true} ~cond := #in~cond; {7858#true} is VALID [2022-04-28 12:41:05,508 INFO L272 TraceCheckUtils]: 11: Hoare triple {7866#(<= ~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)); {7858#true} is VALID [2022-04-28 12:41:05,508 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7858#true} {7866#(<= ~counter~0 0)} #59#return; {7866#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:05,508 INFO L290 TraceCheckUtils]: 9: Hoare triple {7858#true} assume true; {7858#true} is VALID [2022-04-28 12:41:05,508 INFO L290 TraceCheckUtils]: 8: Hoare triple {7858#true} assume !(0 == ~cond); {7858#true} is VALID [2022-04-28 12:41:05,508 INFO L290 TraceCheckUtils]: 7: Hoare triple {7858#true} ~cond := #in~cond; {7858#true} is VALID [2022-04-28 12:41:05,509 INFO L272 TraceCheckUtils]: 6: Hoare triple {7866#(<= ~counter~0 0)} call assume_abort_if_not((if (~R~0 - 1) * (~R~0 - 1) < ~A~0 then 1 else 0)); {7858#true} is VALID [2022-04-28 12:41:05,515 INFO L290 TraceCheckUtils]: 5: Hoare triple {7866#(<= ~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; {7866#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:05,516 INFO L272 TraceCheckUtils]: 4: Hoare triple {7866#(<= ~counter~0 0)} call #t~ret7 := main(); {7866#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:05,516 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7866#(<= ~counter~0 0)} {7858#true} #67#return; {7866#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:05,516 INFO L290 TraceCheckUtils]: 2: Hoare triple {7866#(<= ~counter~0 0)} assume true; {7866#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:05,517 INFO L290 TraceCheckUtils]: 1: Hoare triple {7858#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; {7866#(<= ~counter~0 0)} is VALID [2022-04-28 12:41:05,517 INFO L272 TraceCheckUtils]: 0: Hoare triple {7858#true} call ULTIMATE.init(); {7858#true} is VALID [2022-04-28 12:41:05,517 INFO L134 CoverageAnalysis]: Checked inductivity of 364 backedges. 18 proven. 198 refuted. 0 times theorem prover too weak. 148 trivial. 0 not checked. [2022-04-28 12:41:05,518 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:41:05,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1208003092] [2022-04-28 12:41:05,518 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:41:05,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [999748478] [2022-04-28 12:41:05,518 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [999748478] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:41:05,518 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:41:05,519 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 13 [2022-04-28 12:41:05,519 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:41:05,519 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2027087038] [2022-04-28 12:41:05,519 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2027087038] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:41:05,519 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:41:05,519 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 12:41:05,519 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [545994806] [2022-04-28 12:41:05,519 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:41:05,520 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 5.769230769230769) internal successors, (75), 12 states have internal predecessors, (75), 12 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) Word has length 104 [2022-04-28 12:41:05,520 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:41:05,521 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 5.769230769230769) internal successors, (75), 12 states have internal predecessors, (75), 12 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-28 12:41:05,588 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:41:05,588 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 12:41:05,589 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:41:05,589 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 12:41:05,589 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=88, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:41:05,589 INFO L87 Difference]: Start difference. First operand 101 states and 111 transitions. Second operand has 13 states, 13 states have (on average 5.769230769230769) internal successors, (75), 12 states have internal predecessors, (75), 12 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-28 12:41:05,956 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:41:05,956 INFO L93 Difference]: Finished difference Result 115 states and 126 transitions. [2022-04-28 12:41:05,956 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-28 12:41:05,957 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 5.769230769230769) internal successors, (75), 12 states have internal predecessors, (75), 12 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) Word has length 104 [2022-04-28 12:41:05,957 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:41:05,957 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 5.769230769230769) internal successors, (75), 12 states have internal predecessors, (75), 12 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-28 12:41:05,959 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 125 transitions. [2022-04-28 12:41:05,960 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 5.769230769230769) internal successors, (75), 12 states have internal predecessors, (75), 12 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-28 12:41:05,962 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 125 transitions. [2022-04-28 12:41:05,962 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 125 transitions. [2022-04-28 12:41:06,087 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:41:06,088 INFO L225 Difference]: With dead ends: 115 [2022-04-28 12:41:06,088 INFO L226 Difference]: Without dead ends: 110 [2022-04-28 12:41:06,089 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 216 GetRequests, 195 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 54 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=176, Invalid=286, Unknown=0, NotChecked=0, Total=462 [2022-04-28 12:41:06,089 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 27 mSDsluCounter, 113 mSDsCounter, 0 mSdLazyCounter, 57 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 148 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 57 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:41:06,089 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [27 Valid, 148 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 57 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:41:06,090 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-28 12:41:06,249 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 110. [2022-04-28 12:41:06,249 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:41:06,249 INFO L82 GeneralOperation]: Start isEquivalent. First operand 110 states. Second operand has 110 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 82 states have internal predecessors, (93), 15 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:41:06,249 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand has 110 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 82 states have internal predecessors, (93), 15 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:41:06,250 INFO L87 Difference]: Start difference. First operand 110 states. Second operand has 110 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 82 states have internal predecessors, (93), 15 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:41:06,252 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:41:06,252 INFO L93 Difference]: Finished difference Result 110 states and 121 transitions. [2022-04-28 12:41:06,252 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 121 transitions. [2022-04-28 12:41:06,252 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:41:06,252 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:41:06,253 INFO L74 IsIncluded]: Start isIncluded. First operand has 110 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 82 states have internal predecessors, (93), 15 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 110 states. [2022-04-28 12:41:06,253 INFO L87 Difference]: Start difference. First operand has 110 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 82 states have internal predecessors, (93), 15 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 110 states. [2022-04-28 12:41:06,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:41:06,257 INFO L93 Difference]: Finished difference Result 110 states and 121 transitions. [2022-04-28 12:41:06,257 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 121 transitions. [2022-04-28 12:41:06,257 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:41:06,257 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:41:06,257 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:41:06,258 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:41:06,258 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 110 states, 82 states have (on average 1.1341463414634145) internal successors, (93), 82 states have internal predecessors, (93), 15 states have call successors, (15), 14 states have call predecessors, (15), 12 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:41:06,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 121 transitions. [2022-04-28 12:41:06,261 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 121 transitions. Word has length 104 [2022-04-28 12:41:06,261 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:41:06,261 INFO L495 AbstractCegarLoop]: Abstraction has 110 states and 121 transitions. [2022-04-28 12:41:06,261 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 5.769230769230769) internal successors, (75), 12 states have internal predecessors, (75), 12 states have call successors, (14), 12 states have call predecessors, (14), 10 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-28 12:41:06,261 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 110 states and 121 transitions. [2022-04-28 12:41:08,387 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 120 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 12:41:08,388 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 121 transitions. [2022-04-28 12:41:08,393 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 114 [2022-04-28 12:41:08,393 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:41:08,393 INFO L195 NwaCegarLoop]: trace histogram [11, 11, 10, 10, 10, 10, 10, 10, 10, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:41:08,397 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Ended with exit code 0 [2022-04-28 12:41:08,593 WARN L477 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-28 12:41:08,593 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:41:08,594 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:41:08,594 INFO L85 PathProgramCache]: Analyzing trace with hash -1468805930, now seen corresponding path program 19 times [2022-04-28 12:41:08,594 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:41:08,594 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [44318952] [2022-04-28 12:41:08,594 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:41:08,594 INFO L85 PathProgramCache]: Analyzing trace with hash -1468805930, now seen corresponding path program 20 times [2022-04-28 12:41:08,594 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:41:08,595 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [298912421] [2022-04-28 12:41:08,595 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:41:08,595 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:41:08,612 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:41:08,613 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1836207328] [2022-04-28 12:41:08,613 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:41:08,613 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:41:08,613 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:41:08,614 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-28 12:41:08,619 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-28 12:41:08,736 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:41:08,736 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-04-28 12:41:08,736 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-04-28 12:41:08,850 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-28 12:41:08,898 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-04-28 12:41:08,898 INFO L130 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found a feasible trace [2022-04-28 12:41:08,898 INFO L271 BasicCegarLoop]: Counterexample is feasible [2022-04-28 12:41:08,901 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-28 12:41:08,925 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-28 12:41:09,119 WARN L477 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-28 12:41:09,122 INFO L356 BasicCegarLoop]: Path program histogram: [20, 2, 2, 2, 2] [2022-04-28 12:41:09,124 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-28 12:41:09,139 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-28 12:41:09,139 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2022-04-28 12:41:09,139 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-28 12:41:09,139 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-28 12:41:09,139 WARN L170 areAnnotationChecker]: assume_abort_if_notENTRY has no Hoare annotation [2022-04-28 12:41:09,139 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2022-04-28 12:41:09,139 WARN L170 areAnnotationChecker]: __VERIFIER_assertENTRY has no Hoare annotation [2022-04-28 12:41:09,139 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-28 12:41:09,139 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-28 12:41:09,139 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-28 12:41:09,139 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-28 12:41:09,139 WARN L170 areAnnotationChecker]: L9 has no Hoare annotation [2022-04-28 12:41:09,139 WARN L170 areAnnotationChecker]: L9 has no Hoare annotation [2022-04-28 12:41:09,139 WARN L170 areAnnotationChecker]: L26 has no Hoare annotation [2022-04-28 12:41:09,140 WARN L170 areAnnotationChecker]: L26 has no Hoare annotation [2022-04-28 12:41:09,140 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-28 12:41:09,140 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-28 12:41:09,140 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-28 12:41:09,140 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-28 12:41:09,140 WARN L170 areAnnotationChecker]: L9-2 has no Hoare annotation [2022-04-28 12:41:09,140 WARN L170 areAnnotationChecker]: L26-1 has no Hoare annotation [2022-04-28 12:41:09,140 WARN L170 areAnnotationChecker]: L26-1 has no Hoare annotation [2022-04-28 12:41:09,140 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2022-04-28 12:41:09,140 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2022-04-28 12:41:09,140 WARN L170 areAnnotationChecker]: L12-2 has no Hoare annotation [2022-04-28 12:41:09,140 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-28 12:41:09,140 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-28 12:41:09,140 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2022-04-28 12:41:09,140 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-28 12:41:09,140 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-28 12:41:09,140 WARN L170 areAnnotationChecker]: L38-2 has no Hoare annotation [2022-04-28 12:41:09,140 WARN L170 areAnnotationChecker]: L38-2 has no Hoare annotation [2022-04-28 12:41:09,140 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-28 12:41:09,141 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-28 12:41:09,141 WARN L170 areAnnotationChecker]: L48 has no Hoare annotation [2022-04-28 12:41:09,141 WARN L170 areAnnotationChecker]: L34-3 has no Hoare annotation [2022-04-28 12:41:09,141 WARN L170 areAnnotationChecker]: L34-3 has no Hoare annotation [2022-04-28 12:41:09,141 WARN L170 areAnnotationChecker]: L34-1 has no Hoare annotation [2022-04-28 12:41:09,141 WARN L170 areAnnotationChecker]: L34-1 has no Hoare annotation [2022-04-28 12:41:09,141 WARN L170 areAnnotationChecker]: L38 has no Hoare annotation [2022-04-28 12:41:09,141 WARN L170 areAnnotationChecker]: L38 has no Hoare annotation [2022-04-28 12:41:09,141 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-28 12:41:09,141 WARN L170 areAnnotationChecker]: L35 has no Hoare annotation [2022-04-28 12:41:09,141 WARN L170 areAnnotationChecker]: L35 has no Hoare annotation [2022-04-28 12:41:09,141 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-28 12:41:09,141 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-28 12:41:09,142 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.04 12:41:09 BoogieIcfgContainer [2022-04-28 12:41:09,142 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-28 12:41:09,143 INFO L158 Benchmark]: Toolchain (without parser) took 42315.16ms. Allocated memory was 173.0MB in the beginning and 230.7MB in the end (delta: 57.7MB). Free memory was 127.7MB in the beginning and 156.5MB in the end (delta: -28.8MB). Peak memory consumption was 30.2MB. Max. memory is 8.0GB. [2022-04-28 12:41:09,143 INFO L158 Benchmark]: CDTParser took 0.14ms. Allocated memory is still 173.0MB. Free memory is still 143.8MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 12:41:09,143 INFO L158 Benchmark]: CACSL2BoogieTranslator took 217.64ms. Allocated memory is still 173.0MB. Free memory was 127.5MB in the beginning and 151.7MB in the end (delta: -24.2MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-28 12:41:09,143 INFO L158 Benchmark]: Boogie Preprocessor took 50.26ms. Allocated memory is still 173.0MB. Free memory was 151.7MB in the beginning and 150.2MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-28 12:41:09,144 INFO L158 Benchmark]: RCFGBuilder took 252.08ms. Allocated memory is still 173.0MB. Free memory was 150.0MB in the beginning and 138.7MB in the end (delta: 11.3MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-28 12:41:09,144 INFO L158 Benchmark]: TraceAbstraction took 41788.21ms. Allocated memory was 173.0MB in the beginning and 230.7MB in the end (delta: 57.7MB). Free memory was 138.2MB in the beginning and 156.5MB in the end (delta: -18.3MB). Peak memory consumption was 40.2MB. Max. memory is 8.0GB. [2022-04-28 12:41:09,144 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.14ms. Allocated memory is still 173.0MB. Free memory is still 143.8MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 217.64ms. Allocated memory is still 173.0MB. Free memory was 127.5MB in the beginning and 151.7MB in the end (delta: -24.2MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * Boogie Preprocessor took 50.26ms. Allocated memory is still 173.0MB. Free memory was 151.7MB in the beginning and 150.2MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 252.08ms. Allocated memory is still 173.0MB. Free memory was 150.0MB in the beginning and 138.7MB in the end (delta: 11.3MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 41788.21ms. Allocated memory was 173.0MB in the beginning and 230.7MB in the end (delta: 57.7MB). Free memory was 138.2MB in the beginning and 156.5MB in the end (delta: -18.3MB). Peak memory consumption was 40.2MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - CounterExampleResult [Line: 14]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L19] int counter = 0; [L21] int A, R; [L22] long long u, v, r; [L23] A = __VERIFIER_nondet_int() [L24] R = __VERIFIER_nondet_int() [L26] CALL assume_abort_if_not(((long long) R - 1) * ((long long) R - 1) < A) [L9] COND FALSE !(!cond) [L26] RET assume_abort_if_not(((long long) R - 1) * ((long long) R - 1) < A) [L28] CALL assume_abort_if_not(A % 2 == 1) [L9] COND FALSE !(!cond) [L28] RET assume_abort_if_not(A % 2 == 1) [L30] u = ((long long) 2 * R) + 1 [L31] v = 1 [L32] r = ((long long) R * R) - A [L34] EXPR counter++ [L34] COND TRUE counter++<10 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<10 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<10 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<10 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<10 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<10 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<10 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<10 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<10 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND TRUE counter++<10 [L35] CALL __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L12] COND FALSE !(!(cond)) [L35] RET __VERIFIER_assert(4*(A+r) == u*u - v*v - 2*u + 2*v) [L36] COND FALSE !(!(r != 0)) [L38] COND TRUE r > 0 [L39] r = r - v [L40] v = v + 2 [L34] EXPR counter++ [L34] COND FALSE !(counter++<10) [L48] CALL __VERIFIER_assert(((long long) 4*A) == u*u - v*v - 2*u + 2*v) [L12] COND TRUE !(cond) [L14] reach_error() - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 33 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 41.7s, OverallIterations: 14, TraceHistogramMax: 11, PathProgramHistogramMax: 20, EmptinessCheckTime: 0.0s, AutomataDifference: 9.5s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 1 mSolverCounterUnknown, 238 SdHoareTripleChecker+Valid, 3.4s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 237 mSDsluCounter, 1300 SdHoareTripleChecker+Invalid, 3.4s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 916 mSDsCounter, 153 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 377 IncrementalHoareTripleChecker+Invalid, 531 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 153 mSolverCounterUnsat, 384 mSDtfsCounter, 377 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1386 GetRequests, 1223 SyntacticMatches, 6 SemanticMatches, 157 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 254 ImplicationChecksByTransitivity, 0.9s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=110occurred in iteration=13, InterpolantAutomatonStates: 145, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.9s AutomataMinimizationTime, 13 MinimizatonAttempts, 8 StatesRemovedByMinimization, 2 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: No data available, 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-28 12:41:09,156 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...