/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/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 07:34:14,600 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 07:34:14,601 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 07:34:14,633 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 07:34:14,634 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 07:34:14,635 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 07:34:14,636 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 07:34:14,638 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 07:34:14,640 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 07:34:14,643 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 07:34:14,643 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 07:34:14,644 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 07:34:14,644 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 07:34:14,646 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 07:34:14,647 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 07:34:14,649 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 07:34:14,649 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 07:34:14,650 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 07:34:14,651 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 07:34:14,655 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 07:34:14,656 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 07:34:14,657 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 07:34:14,657 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 07:34:14,658 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 07:34:14,659 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 07:34:14,663 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 07:34:14,663 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 07:34:14,663 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 07:34:14,664 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 07:34:14,664 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 07:34:14,665 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 07:34:14,665 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 07:34:14,666 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 07:34:14,666 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 07:34:14,667 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 07:34:14,667 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 07:34:14,667 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 07:34:14,668 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 07:34:14,668 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 07:34:14,668 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 07:34:14,668 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 07:34:14,669 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 07:34:14,670 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-08 07:34:14,678 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 07:34:14,678 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 07:34:14,679 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 07:34:14,679 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 07:34:14,679 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 07:34:14,679 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 07:34:14,679 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 07:34:14,679 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 07:34:14,679 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 07:34:14,680 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 07:34:14,680 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 07:34:14,680 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 07:34:14,680 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 07:34:14,680 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 07:34:14,680 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 07:34:14,680 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 07:34:14,680 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 07:34:14,680 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 07:34:14,680 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 07:34:14,680 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 07:34:14,681 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 07:34:14,681 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 07:34:14,681 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 07:34:14,681 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 07:34:14,681 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 07:34:14,681 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-08 07:34:14,855 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 07:34:14,875 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 07:34:14,877 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 07:34:14,877 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 07:34:14,878 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 07:34:14,879 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound2.c [2022-04-08 07:34:14,926 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d1dbb8ed7/2b13c154026245f0a30fcfd085937c20/FLAG0161c0cc3 [2022-04-08 07:34:15,265 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 07:34:15,265 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound2.c [2022-04-08 07:34:15,270 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d1dbb8ed7/2b13c154026245f0a30fcfd085937c20/FLAG0161c0cc3 [2022-04-08 07:34:15,706 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d1dbb8ed7/2b13c154026245f0a30fcfd085937c20 [2022-04-08 07:34:15,708 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 07:34:15,709 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 07:34:15,710 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 07:34:15,710 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 07:34:15,713 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 07:34:15,713 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 07:34:15" (1/1) ... [2022-04-08 07:34:15,714 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@60910bac and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 07:34:15, skipping insertion in model container [2022-04-08 07:34:15,714 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 07:34:15" (1/1) ... [2022-04-08 07:34:15,719 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 07:34:15,729 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 07:34:15,839 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/prodbin-ll_valuebound2.c[537,550] [2022-04-08 07:34:15,848 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 07:34:15,853 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 07:34:15,861 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/prodbin-ll_valuebound2.c[537,550] [2022-04-08 07:34:15,865 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 07:34:15,873 INFO L208 MainTranslator]: Completed translation [2022-04-08 07:34:15,873 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 07:34:15 WrapperNode [2022-04-08 07:34:15,874 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 07:34:15,874 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 07:34:15,874 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 07:34:15,874 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 07:34:15,881 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 07:34:15" (1/1) ... [2022-04-08 07:34:15,882 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 07:34:15" (1/1) ... [2022-04-08 07:34:15,886 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 07:34:15" (1/1) ... [2022-04-08 07:34:15,886 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 07:34:15" (1/1) ... [2022-04-08 07:34:15,892 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 07:34:15" (1/1) ... [2022-04-08 07:34:15,894 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 07:34:15" (1/1) ... [2022-04-08 07:34:15,895 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 07:34:15" (1/1) ... [2022-04-08 07:34:15,896 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 07:34:15,896 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 07:34:15,896 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 07:34:15,897 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 07:34:15,900 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 07:34:15" (1/1) ... [2022-04-08 07:34:15,907 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 07:34:15,915 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 07:34:15,942 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-08 07:34:15,970 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 07:34:15,970 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 07:34:15,970 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 07:34:15,970 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 07:34:15,970 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 07:34:15,970 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 07:34:15,970 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 07:34:15,970 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 07:34:15,970 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 07:34:15,970 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 07:34:15,970 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 07:34:15,970 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 07:34:15,971 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 07:34:15,971 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 07:34:15,971 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 07:34:15,971 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 07:34:15,971 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 07:34:15,971 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 07:34:15,971 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 07:34:15,971 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 07:34:15,963 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-08 07:34:16,015 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 07:34:16,016 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 07:34:16,149 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 07:34:16,155 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 07:34:16,155 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-08 07:34:16,156 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 07:34:16 BoogieIcfgContainer [2022-04-08 07:34:16,156 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 07:34:16,158 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 07:34:16,158 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 07:34:16,166 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 07:34:16,166 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 07:34:15" (1/3) ... [2022-04-08 07:34:16,167 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@57614ccc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 07:34:16, skipping insertion in model container [2022-04-08 07:34:16,167 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 07:34:15" (2/3) ... [2022-04-08 07:34:16,167 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@57614ccc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 07:34:16, skipping insertion in model container [2022-04-08 07:34:16,167 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 07:34:16" (3/3) ... [2022-04-08 07:34:16,168 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_valuebound2.c [2022-04-08 07:34:16,172 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 07:34:16,172 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 07:34:16,200 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 07:34:16,205 INFO L340 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 [2022-04-08 07:34:16,206 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 07:34:16,218 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 07:34:16,223 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-08 07:34:16,223 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 07:34:16,224 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 07:34:16,224 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 07:34:16,227 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 07:34:16,228 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 1 times [2022-04-08 07:34:16,233 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 07:34:16,233 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1941162909] [2022-04-08 07:34:16,240 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 07:34:16,240 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 2 times [2022-04-08 07:34:16,242 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 07:34:16,242 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1234075180] [2022-04-08 07:34:16,242 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 07:34:16,244 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 07:34:16,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:34:16,344 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 07:34:16,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:34:16,358 INFO L290 TraceCheckUtils]: 0: Hoare triple {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {35#true} is VALID [2022-04-08 07:34:16,358 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-08 07:34:16,358 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-08 07:34:16,359 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 07:34:16,360 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:34:16,365 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-08 07:34:16,365 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-08 07:34:16,366 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-08 07:34:16,366 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-08 07:34:16,366 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 07:34:16,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:34:16,376 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-08 07:34:16,376 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-08 07:34:16,376 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-08 07:34:16,376 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-08 07:34:16,377 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 07:34:16,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:34:16,385 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-08 07:34:16,386 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-08 07:34:16,386 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-08 07:34:16,386 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-08 07:34:16,387 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 07:34:16,387 INFO L290 TraceCheckUtils]: 1: Hoare triple {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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); {35#true} is VALID [2022-04-08 07:34:16,387 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-08 07:34:16,387 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-08 07:34:16,388 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret6 := main(); {35#true} is VALID [2022-04-08 07:34:16,388 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {35#true} is VALID [2022-04-08 07:34:16,388 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {35#true} is VALID [2022-04-08 07:34:16,388 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-08 07:34:16,389 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-08 07:34:16,389 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-08 07:34:16,389 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-08 07:34:16,389 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {36#false} is VALID [2022-04-08 07:34:16,389 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {35#true} is VALID [2022-04-08 07:34:16,389 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-08 07:34:16,390 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-08 07:34:16,390 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-08 07:34:16,390 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-08 07:34:16,390 INFO L272 TraceCheckUtils]: 17: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {35#true} is VALID [2022-04-08 07:34:16,391 INFO L290 TraceCheckUtils]: 18: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-08 07:34:16,391 INFO L290 TraceCheckUtils]: 19: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-08 07:34:16,391 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-08 07:34:16,391 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-08 07:34:16,391 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {36#false} is VALID [2022-04-08 07:34:16,392 INFO L290 TraceCheckUtils]: 23: Hoare triple {36#false} assume false; {36#false} is VALID [2022-04-08 07:34:16,392 INFO L272 TraceCheckUtils]: 24: Hoare triple {36#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {36#false} is VALID [2022-04-08 07:34:16,392 INFO L290 TraceCheckUtils]: 25: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-08 07:34:16,392 INFO L290 TraceCheckUtils]: 26: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-08 07:34:16,392 INFO L290 TraceCheckUtils]: 27: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-08 07:34:16,393 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 07:34:16,393 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 07:34:16,393 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1234075180] [2022-04-08 07:34:16,394 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1234075180] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 07:34:16,394 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 07:34:16,394 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 07:34:16,395 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 07:34:16,396 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1941162909] [2022-04-08 07:34:16,396 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1941162909] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 07:34:16,396 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 07:34:16,396 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 07:34:16,396 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2078520657] [2022-04-08 07:34:16,396 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 07:34:16,400 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-08 07:34:16,401 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 07:34:16,402 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 07:34:16,431 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 07:34:16,431 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 07:34:16,432 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 07:34:16,451 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 07:34:16,451 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 07:34:16,453 INFO L87 Difference]: Start difference. First operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 07:34:16,571 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:34:16,571 INFO L93 Difference]: Finished difference Result 57 states and 77 transitions. [2022-04-08 07:34:16,573 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 07:34:16,573 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-08 07:34:16,573 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 07:34:16,574 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 07:34:16,580 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-08 07:34:16,580 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 07:34:16,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-08 07:34:16,585 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-08 07:34:16,664 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 07:34:16,674 INFO L225 Difference]: With dead ends: 57 [2022-04-08 07:34:16,675 INFO L226 Difference]: Without dead ends: 27 [2022-04-08 07:34:16,677 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 07:34:16,682 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 19 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 13 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 07:34:16,683 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 34 Invalid, 13 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 07:34:16,695 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-08 07:34:16,712 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-08 07:34:16,713 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 07:34:16,714 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 07:34:16,715 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 07:34:16,716 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 07:34:16,722 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:34:16,722 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-08 07:34:16,734 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-08 07:34:16,735 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:34:16,735 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:34:16,736 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-08 07:34:16,737 INFO L87 Difference]: Start difference. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-08 07:34:16,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:34:16,740 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-08 07:34:16,740 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-08 07:34:16,740 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:34:16,741 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:34:16,741 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 07:34:16,741 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 07:34:16,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 07:34:16,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2022-04-08 07:34:16,745 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 28 [2022-04-08 07:34:16,745 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 07:34:16,745 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2022-04-08 07:34:16,745 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 07:34:16,745 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 31 transitions. [2022-04-08 07:34:16,779 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-08 07:34:16,780 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-08 07:34:16,781 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-08 07:34:16,781 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 07:34:16,781 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 07:34:16,781 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 07:34:16,782 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 07:34:16,785 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 07:34:16,785 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 1 times [2022-04-08 07:34:16,785 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 07:34:16,785 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1426288347] [2022-04-08 07:34:16,788 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 07:34:16,789 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 2 times [2022-04-08 07:34:16,789 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 07:34:16,789 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [62345500] [2022-04-08 07:34:16,789 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 07:34:16,790 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 07:34:16,820 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 07:34:16,821 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [911224251] [2022-04-08 07:34:16,821 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 07:34:16,821 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 07:34:16,821 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 07:34:16,822 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-08 07:34:16,839 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-08 07:34:16,870 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 07:34:16,870 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 07:34:16,872 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 07:34:16,881 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:34:16,884 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 07:34:17,051 INFO L272 TraceCheckUtils]: 0: Hoare triple {277#true} call ULTIMATE.init(); {277#true} is VALID [2022-04-08 07:34:17,051 INFO L290 TraceCheckUtils]: 1: Hoare triple {277#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); {277#true} is VALID [2022-04-08 07:34:17,051 INFO L290 TraceCheckUtils]: 2: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-08 07:34:17,051 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {277#true} {277#true} #71#return; {277#true} is VALID [2022-04-08 07:34:17,052 INFO L272 TraceCheckUtils]: 4: Hoare triple {277#true} call #t~ret6 := main(); {277#true} is VALID [2022-04-08 07:34:17,052 INFO L290 TraceCheckUtils]: 5: Hoare triple {277#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {277#true} is VALID [2022-04-08 07:34:17,052 INFO L272 TraceCheckUtils]: 6: Hoare triple {277#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {277#true} is VALID [2022-04-08 07:34:17,052 INFO L290 TraceCheckUtils]: 7: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-08 07:34:17,052 INFO L290 TraceCheckUtils]: 8: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-08 07:34:17,053 INFO L290 TraceCheckUtils]: 9: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-08 07:34:17,053 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {277#true} {277#true} #61#return; {277#true} is VALID [2022-04-08 07:34:17,053 INFO L290 TraceCheckUtils]: 11: Hoare triple {277#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {277#true} is VALID [2022-04-08 07:34:17,053 INFO L272 TraceCheckUtils]: 12: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {277#true} is VALID [2022-04-08 07:34:17,053 INFO L290 TraceCheckUtils]: 13: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-08 07:34:17,053 INFO L290 TraceCheckUtils]: 14: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-08 07:34:17,054 INFO L290 TraceCheckUtils]: 15: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-08 07:34:17,054 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {277#true} {277#true} #63#return; {277#true} is VALID [2022-04-08 07:34:17,054 INFO L272 TraceCheckUtils]: 17: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {277#true} is VALID [2022-04-08 07:34:17,054 INFO L290 TraceCheckUtils]: 18: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-08 07:34:17,054 INFO L290 TraceCheckUtils]: 19: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-08 07:34:17,054 INFO L290 TraceCheckUtils]: 20: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-08 07:34:17,055 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {277#true} {277#true} #65#return; {277#true} is VALID [2022-04-08 07:34:17,055 INFO L290 TraceCheckUtils]: 22: Hoare triple {277#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 07:34:17,056 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 07:34:17,057 INFO L272 TraceCheckUtils]: 24: Hoare triple {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {355#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 07:34:17,057 INFO L290 TraceCheckUtils]: 25: Hoare triple {355#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {359#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:34:17,058 INFO L290 TraceCheckUtils]: 26: Hoare triple {359#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {278#false} is VALID [2022-04-08 07:34:17,058 INFO L290 TraceCheckUtils]: 27: Hoare triple {278#false} assume !false; {278#false} is VALID [2022-04-08 07:34:17,059 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 07:34:17,059 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 07:34:17,059 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 07:34:17,059 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [62345500] [2022-04-08 07:34:17,059 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 07:34:17,059 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [911224251] [2022-04-08 07:34:17,060 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [911224251] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 07:34:17,060 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 07:34:17,060 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 07:34:17,060 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 07:34:17,061 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1426288347] [2022-04-08 07:34:17,061 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1426288347] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 07:34:17,061 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 07:34:17,061 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 07:34:17,061 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1795629426] [2022-04-08 07:34:17,061 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 07:34:17,062 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-08 07:34:17,062 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 07:34:17,062 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 07:34:17,077 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 07:34:17,077 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 07:34:17,078 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 07:34:17,078 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 07:34:17,078 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 07:34:17,078 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 07:34:17,215 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:34:17,215 INFO L93 Difference]: Finished difference Result 39 states and 45 transitions. [2022-04-08 07:34:17,215 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 07:34:17,216 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-08 07:34:17,217 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 07:34:17,217 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 07:34:17,225 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-08 07:34:17,226 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 07:34:17,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-08 07:34:17,230 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 45 transitions. [2022-04-08 07:34:17,262 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-08 07:34:17,267 INFO L225 Difference]: With dead ends: 39 [2022-04-08 07:34:17,267 INFO L226 Difference]: Without dead ends: 37 [2022-04-08 07:34:17,271 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 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-08 07:34:17,273 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 8 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 07:34:17,273 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 87 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 07:34:17,274 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-08 07:34:17,297 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 33. [2022-04-08 07:34:17,297 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 07:34:17,298 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 07:34:17,298 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 07:34:17,299 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 07:34:17,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:34:17,303 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-08 07:34:17,303 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-08 07:34:17,305 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:34:17,305 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:34:17,307 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-08 07:34:17,308 INFO L87 Difference]: Start difference. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-08 07:34:17,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:34:17,312 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-08 07:34:17,312 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-08 07:34:17,313 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:34:17,313 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:34:17,313 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 07:34:17,313 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 07:34:17,313 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 07:34:17,315 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-04-08 07:34:17,315 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 28 [2022-04-08 07:34:17,315 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 07:34:17,315 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-04-08 07:34:17,316 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 07:34:17,316 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 37 transitions. [2022-04-08 07:34:17,356 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 07:34:17,356 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-04-08 07:34:17,359 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-08 07:34:17,359 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 07:34:17,359 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 07:34:17,390 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-08 07:34:17,565 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 07:34:17,566 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 07:34:17,566 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 07:34:17,566 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 1 times [2022-04-08 07:34:17,566 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 07:34:17,566 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1199275327] [2022-04-08 07:34:17,567 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 07:34:17,567 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 2 times [2022-04-08 07:34:17,567 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 07:34:17,567 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [171256669] [2022-04-08 07:34:17,567 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 07:34:17,567 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 07:34:17,584 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 07:34:17,584 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [556932049] [2022-04-08 07:34:17,585 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 07:34:17,585 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 07:34:17,585 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 07:34:17,591 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-08 07:34:17,623 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-08 07:34:17,642 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 07:34:17,642 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 07:34:17,643 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 07:34:17,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:34:17,652 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 07:34:17,766 INFO L272 TraceCheckUtils]: 0: Hoare triple {585#true} call ULTIMATE.init(); {585#true} is VALID [2022-04-08 07:34:17,767 INFO L290 TraceCheckUtils]: 1: Hoare triple {585#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); {585#true} is VALID [2022-04-08 07:34:17,770 INFO L290 TraceCheckUtils]: 2: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-08 07:34:17,770 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {585#true} {585#true} #71#return; {585#true} is VALID [2022-04-08 07:34:17,770 INFO L272 TraceCheckUtils]: 4: Hoare triple {585#true} call #t~ret6 := main(); {585#true} is VALID [2022-04-08 07:34:17,770 INFO L290 TraceCheckUtils]: 5: Hoare triple {585#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {585#true} is VALID [2022-04-08 07:34:17,770 INFO L272 TraceCheckUtils]: 6: Hoare triple {585#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {585#true} is VALID [2022-04-08 07:34:17,779 INFO L290 TraceCheckUtils]: 7: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-08 07:34:17,779 INFO L290 TraceCheckUtils]: 8: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-08 07:34:17,779 INFO L290 TraceCheckUtils]: 9: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-08 07:34:17,780 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {585#true} {585#true} #61#return; {585#true} is VALID [2022-04-08 07:34:17,780 INFO L290 TraceCheckUtils]: 11: Hoare triple {585#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {585#true} is VALID [2022-04-08 07:34:17,780 INFO L272 TraceCheckUtils]: 12: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {585#true} is VALID [2022-04-08 07:34:17,780 INFO L290 TraceCheckUtils]: 13: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-08 07:34:17,780 INFO L290 TraceCheckUtils]: 14: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-08 07:34:17,780 INFO L290 TraceCheckUtils]: 15: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-08 07:34:17,780 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {585#true} {585#true} #63#return; {585#true} is VALID [2022-04-08 07:34:17,780 INFO L272 TraceCheckUtils]: 17: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {585#true} is VALID [2022-04-08 07:34:17,782 INFO L290 TraceCheckUtils]: 18: Hoare triple {585#true} ~cond := #in~cond; {644#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 07:34:17,782 INFO L290 TraceCheckUtils]: 19: Hoare triple {644#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {648#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 07:34:17,783 INFO L290 TraceCheckUtils]: 20: Hoare triple {648#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {648#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 07:34:17,783 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {648#(not (= |assume_abort_if_not_#in~cond| 0))} {585#true} #65#return; {655#(<= 1 main_~b~0)} is VALID [2022-04-08 07:34:17,784 INFO L290 TraceCheckUtils]: 22: Hoare triple {655#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {659#(<= 1 main_~y~0)} is VALID [2022-04-08 07:34:17,784 INFO L290 TraceCheckUtils]: 23: Hoare triple {659#(<= 1 main_~y~0)} assume !false; {659#(<= 1 main_~y~0)} is VALID [2022-04-08 07:34:17,784 INFO L272 TraceCheckUtils]: 24: Hoare triple {659#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {585#true} is VALID [2022-04-08 07:34:17,784 INFO L290 TraceCheckUtils]: 25: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-08 07:34:17,784 INFO L290 TraceCheckUtils]: 26: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-08 07:34:17,784 INFO L290 TraceCheckUtils]: 27: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-08 07:34:17,785 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {585#true} {659#(<= 1 main_~y~0)} #67#return; {659#(<= 1 main_~y~0)} is VALID [2022-04-08 07:34:17,785 INFO L290 TraceCheckUtils]: 29: Hoare triple {659#(<= 1 main_~y~0)} assume !(0 != ~y~0); {586#false} is VALID [2022-04-08 07:34:17,785 INFO L272 TraceCheckUtils]: 30: Hoare triple {586#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {586#false} is VALID [2022-04-08 07:34:17,786 INFO L290 TraceCheckUtils]: 31: Hoare triple {586#false} ~cond := #in~cond; {586#false} is VALID [2022-04-08 07:34:17,786 INFO L290 TraceCheckUtils]: 32: Hoare triple {586#false} assume 0 == ~cond; {586#false} is VALID [2022-04-08 07:34:17,786 INFO L290 TraceCheckUtils]: 33: Hoare triple {586#false} assume !false; {586#false} is VALID [2022-04-08 07:34:17,786 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 07:34:17,786 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 07:34:17,786 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 07:34:17,786 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [171256669] [2022-04-08 07:34:17,786 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 07:34:17,787 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [556932049] [2022-04-08 07:34:17,787 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [556932049] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 07:34:17,787 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 07:34:17,787 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 07:34:17,787 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 07:34:17,787 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1199275327] [2022-04-08 07:34:17,787 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1199275327] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 07:34:17,787 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 07:34:17,787 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 07:34:17,787 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [517962089] [2022-04-08 07:34:17,787 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 07:34:17,788 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-08 07:34:17,788 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 07:34:17,788 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 07:34:17,806 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-08 07:34:17,806 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 07:34:17,806 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 07:34:17,807 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 07:34:17,807 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 07:34:17,807 INFO L87 Difference]: Start difference. First operand 33 states and 37 transitions. Second operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 07:34:17,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:34:17,950 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2022-04-08 07:34:17,950 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 07:34:17,950 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-08 07:34:17,951 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 07:34:17,951 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 07:34:17,952 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-08 07:34:17,952 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 07:34:17,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-08 07:34:17,954 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 45 transitions. [2022-04-08 07:34:17,994 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-08 07:34:17,996 INFO L225 Difference]: With dead ends: 43 [2022-04-08 07:34:17,996 INFO L226 Difference]: Without dead ends: 36 [2022-04-08 07:34:17,997 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-08 07:34:18,005 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 14 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 89 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 07:34:18,006 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 89 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 07:34:18,006 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-08 07:34:18,021 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 34. [2022-04-08 07:34:18,022 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 07:34:18,022 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 07:34:18,023 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 07:34:18,023 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 07:34:18,027 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:34:18,027 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-08 07:34:18,027 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-08 07:34:18,028 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:34:18,028 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:34:18,029 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-08 07:34:18,029 INFO L87 Difference]: Start difference. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-08 07:34:18,034 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:34:18,034 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-08 07:34:18,034 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-08 07:34:18,037 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:34:18,037 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:34:18,037 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 07:34:18,037 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 07:34:18,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 07:34:18,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 38 transitions. [2022-04-08 07:34:18,039 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 38 transitions. Word has length 34 [2022-04-08 07:34:18,039 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 07:34:18,039 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 38 transitions. [2022-04-08 07:34:18,040 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 07:34:18,040 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 38 transitions. [2022-04-08 07:34:18,070 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-08 07:34:18,070 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-08 07:34:18,071 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-08 07:34:18,071 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 07:34:18,071 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 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-08 07:34:18,091 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-08 07:34:18,291 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-08 07:34:18,291 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 07:34:18,292 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 07:34:18,292 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 1 times [2022-04-08 07:34:18,292 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 07:34:18,292 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [850288023] [2022-04-08 07:34:18,292 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 07:34:18,292 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 2 times [2022-04-08 07:34:18,293 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 07:34:18,293 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [389762390] [2022-04-08 07:34:18,293 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 07:34:18,293 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 07:34:18,308 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 07:34:18,308 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [554871992] [2022-04-08 07:34:18,308 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 07:34:18,308 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 07:34:18,309 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 07:34:18,309 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-08 07:34:18,310 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-08 07:34:18,344 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 07:34:18,344 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 07:34:18,345 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-08 07:34:18,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:34:18,356 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 07:34:19,239 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-08 07:34:19,240 INFO L290 TraceCheckUtils]: 1: Hoare triple {922#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); {922#true} is VALID [2022-04-08 07:34:19,240 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-08 07:34:19,240 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-08 07:34:19,240 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-08 07:34:19,240 INFO L290 TraceCheckUtils]: 5: Hoare triple {922#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {922#true} is VALID [2022-04-08 07:34:19,240 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {922#true} is VALID [2022-04-08 07:34:19,241 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {948#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 07:34:19,241 INFO L290 TraceCheckUtils]: 8: Hoare triple {948#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {952#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 07:34:19,241 INFO L290 TraceCheckUtils]: 9: Hoare triple {952#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {952#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 07:34:19,242 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {952#(not (= |assume_abort_if_not_#in~cond| 0))} {922#true} #61#return; {959#(and (<= 0 main_~a~0) (<= main_~a~0 2))} is VALID [2022-04-08 07:34:19,243 INFO L290 TraceCheckUtils]: 11: Hoare triple {959#(and (<= 0 main_~a~0) (<= main_~a~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {959#(and (<= 0 main_~a~0) (<= main_~a~0 2))} is VALID [2022-04-08 07:34:19,243 INFO L272 TraceCheckUtils]: 12: Hoare triple {959#(and (<= 0 main_~a~0) (<= main_~a~0 2))} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {922#true} is VALID [2022-04-08 07:34:19,244 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {948#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 07:34:19,244 INFO L290 TraceCheckUtils]: 14: Hoare triple {948#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {952#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 07:34:19,259 INFO L290 TraceCheckUtils]: 15: Hoare triple {952#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {952#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 07:34:19,261 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {952#(not (= |assume_abort_if_not_#in~cond| 0))} {959#(and (<= 0 main_~a~0) (<= main_~a~0 2))} #63#return; {978#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} is VALID [2022-04-08 07:34:19,262 INFO L272 TraceCheckUtils]: 17: Hoare triple {978#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {922#true} is VALID [2022-04-08 07:34:19,262 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-08 07:34:19,262 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-08 07:34:19,262 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-08 07:34:19,262 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {978#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} #65#return; {978#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} is VALID [2022-04-08 07:34:19,265 INFO L290 TraceCheckUtils]: 22: Hoare triple {978#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {997#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 07:34:19,265 INFO L290 TraceCheckUtils]: 23: Hoare triple {997#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {997#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 07:34:19,266 INFO L272 TraceCheckUtils]: 24: Hoare triple {997#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {922#true} is VALID [2022-04-08 07:34:19,266 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-08 07:34:19,266 INFO L290 TraceCheckUtils]: 26: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-08 07:34:19,266 INFO L290 TraceCheckUtils]: 27: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-08 07:34:19,266 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {922#true} {997#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {997#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 07:34:19,267 INFO L290 TraceCheckUtils]: 29: Hoare triple {997#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1019#(and (= main_~z~0 0) (not (= main_~y~0 0)) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 07:34:19,268 INFO L290 TraceCheckUtils]: 30: Hoare triple {1019#(and (= main_~z~0 0) (not (= main_~y~0 0)) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1023#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-08 07:34:19,269 INFO L290 TraceCheckUtils]: 31: Hoare triple {1023#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1027#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-08 07:34:19,269 INFO L290 TraceCheckUtils]: 32: Hoare triple {1027#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {1027#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-08 07:34:19,271 INFO L272 TraceCheckUtils]: 33: Hoare triple {1027#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1034#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 07:34:19,271 INFO L290 TraceCheckUtils]: 34: Hoare triple {1034#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1038#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:34:19,271 INFO L290 TraceCheckUtils]: 35: Hoare triple {1038#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-08 07:34:19,272 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-08 07:34:19,272 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 8 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 07:34:19,272 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 07:34:41,836 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-08 07:34:41,836 INFO L290 TraceCheckUtils]: 35: Hoare triple {1038#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-08 07:34:41,837 INFO L290 TraceCheckUtils]: 34: Hoare triple {1034#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1038#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:34:41,838 INFO L272 TraceCheckUtils]: 33: Hoare triple {1054#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1034#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 07:34:41,838 INFO L290 TraceCheckUtils]: 32: Hoare triple {1054#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1054#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 07:34:41,843 INFO L290 TraceCheckUtils]: 31: Hoare triple {1061#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1054#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 07:34:41,845 INFO L290 TraceCheckUtils]: 30: Hoare triple {1065#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1061#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-08 07:34:41,846 INFO L290 TraceCheckUtils]: 29: Hoare triple {1065#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {1065#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-08 07:34:41,846 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {922#true} {1065#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} #67#return; {1065#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-08 07:34:41,847 INFO L290 TraceCheckUtils]: 27: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-08 07:34:41,847 INFO L290 TraceCheckUtils]: 26: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-08 07:34:41,847 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-08 07:34:41,847 INFO L272 TraceCheckUtils]: 24: Hoare triple {1065#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {922#true} is VALID [2022-04-08 07:34:41,847 INFO L290 TraceCheckUtils]: 23: Hoare triple {1065#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !false; {1065#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-08 07:34:42,087 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1065#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-08 07:34:42,088 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-08 07:34:42,088 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-08 07:34:42,088 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-08 07:34:42,088 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-08 07:34:42,088 INFO L272 TraceCheckUtils]: 17: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {922#true} is VALID [2022-04-08 07:34:42,088 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-08 07:34:42,088 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-08 07:34:42,089 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-08 07:34:42,089 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-08 07:34:42,089 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {922#true} is VALID [2022-04-08 07:34:42,089 INFO L290 TraceCheckUtils]: 11: Hoare triple {922#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {922#true} is VALID [2022-04-08 07:34:42,089 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-08 07:34:42,089 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-08 07:34:42,089 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-08 07:34:42,089 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-08 07:34:42,089 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {922#true} is VALID [2022-04-08 07:34:42,089 INFO L290 TraceCheckUtils]: 5: Hoare triple {922#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {922#true} is VALID [2022-04-08 07:34:42,090 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-08 07:34:42,090 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-08 07:34:42,090 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-08 07:34:42,090 INFO L290 TraceCheckUtils]: 1: Hoare triple {922#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); {922#true} is VALID [2022-04-08 07:34:42,090 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-08 07:34:42,090 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 07:34:42,090 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 07:34:42,091 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [389762390] [2022-04-08 07:34:42,091 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 07:34:42,091 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [554871992] [2022-04-08 07:34:42,091 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [554871992] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 07:34:42,091 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 07:34:42,091 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [12] total 15 [2022-04-08 07:34:42,091 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 07:34:42,091 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [850288023] [2022-04-08 07:34:42,091 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [850288023] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 07:34:42,091 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 07:34:42,091 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 07:34:42,091 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1766350832] [2022-04-08 07:34:42,092 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 07:34:42,092 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-08 07:34:42,092 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 07:34:42,092 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 07:34:42,361 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-08 07:34:42,362 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 07:34:42,362 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 07:34:42,362 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 07:34:42,362 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=162, Unknown=0, NotChecked=0, Total=210 [2022-04-08 07:34:42,362 INFO L87 Difference]: Start difference. First operand 34 states and 38 transitions. Second operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 07:34:43,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:34:43,680 INFO L93 Difference]: Finished difference Result 47 states and 53 transitions. [2022-04-08 07:34:43,680 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 07:34:43,681 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-08 07:34:43,681 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 07:34:43,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 07:34:43,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 46 transitions. [2022-04-08 07:34:43,683 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 07:34:43,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 46 transitions. [2022-04-08 07:34:43,684 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 46 transitions. [2022-04-08 07:34:43,719 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 07:34:43,720 INFO L225 Difference]: With dead ends: 47 [2022-04-08 07:34:43,720 INFO L226 Difference]: Without dead ends: 45 [2022-04-08 07:34:43,720 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 58 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 2.6s TimeCoverageRelationStatistics Valid=59, Invalid=213, Unknown=0, NotChecked=0, Total=272 [2022-04-08 07:34:43,721 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 8 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 76 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 07:34:43,721 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 116 Invalid, 76 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 69 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 07:34:43,721 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-08 07:34:43,746 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 43. [2022-04-08 07:34:43,747 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 07:34:43,747 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 07:34:43,747 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 07:34:43,748 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 07:34:43,750 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:34:43,750 INFO L93 Difference]: Finished difference Result 45 states and 51 transitions. [2022-04-08 07:34:43,750 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 51 transitions. [2022-04-08 07:34:43,750 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:34:43,750 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:34:43,750 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 45 states. [2022-04-08 07:34:43,751 INFO L87 Difference]: Start difference. First operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 45 states. [2022-04-08 07:34:43,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:34:43,752 INFO L93 Difference]: Finished difference Result 45 states and 51 transitions. [2022-04-08 07:34:43,753 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 51 transitions. [2022-04-08 07:34:43,753 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:34:43,753 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:34:43,753 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 07:34:43,753 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 07:34:43,753 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 07:34:43,755 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 49 transitions. [2022-04-08 07:34:43,755 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 49 transitions. Word has length 37 [2022-04-08 07:34:43,755 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 07:34:43,755 INFO L478 AbstractCegarLoop]: Abstraction has 43 states and 49 transitions. [2022-04-08 07:34:43,755 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 07:34:43,756 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 49 transitions. [2022-04-08 07:34:43,806 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 07:34:43,806 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 49 transitions. [2022-04-08 07:34:43,807 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-08 07:34:43,807 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 07:34:43,807 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 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-08 07:34:43,824 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-08 07:34:44,019 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 07:34:44,019 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 07:34:44,020 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 07:34:44,020 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 1 times [2022-04-08 07:34:44,020 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 07:34:44,020 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [488213267] [2022-04-08 07:34:44,020 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 07:34:44,021 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 2 times [2022-04-08 07:34:44,021 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 07:34:44,021 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1781419448] [2022-04-08 07:34:44,021 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 07:34:44,021 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 07:34:44,052 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 07:34:44,052 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1045813213] [2022-04-08 07:34:44,053 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 07:34:44,053 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 07:34:44,053 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 07:34:44,061 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-08 07:34:44,062 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-08 07:34:44,105 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 07:34:44,105 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 07:34:44,106 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-08 07:34:44,116 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:34:44,117 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 07:34:44,647 INFO L272 TraceCheckUtils]: 0: Hoare triple {1432#true} call ULTIMATE.init(); {1432#true} is VALID [2022-04-08 07:34:44,647 INFO L290 TraceCheckUtils]: 1: Hoare triple {1432#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); {1432#true} is VALID [2022-04-08 07:34:44,647 INFO L290 TraceCheckUtils]: 2: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-08 07:34:44,647 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1432#true} {1432#true} #71#return; {1432#true} is VALID [2022-04-08 07:34:44,647 INFO L272 TraceCheckUtils]: 4: Hoare triple {1432#true} call #t~ret6 := main(); {1432#true} is VALID [2022-04-08 07:34:44,647 INFO L290 TraceCheckUtils]: 5: Hoare triple {1432#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {1432#true} is VALID [2022-04-08 07:34:44,647 INFO L272 TraceCheckUtils]: 6: Hoare triple {1432#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {1432#true} is VALID [2022-04-08 07:34:44,648 INFO L290 TraceCheckUtils]: 7: Hoare triple {1432#true} ~cond := #in~cond; {1432#true} is VALID [2022-04-08 07:34:44,648 INFO L290 TraceCheckUtils]: 8: Hoare triple {1432#true} assume !(0 == ~cond); {1432#true} is VALID [2022-04-08 07:34:44,648 INFO L290 TraceCheckUtils]: 9: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-08 07:34:44,648 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1432#true} {1432#true} #61#return; {1432#true} is VALID [2022-04-08 07:34:44,648 INFO L290 TraceCheckUtils]: 11: Hoare triple {1432#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1432#true} is VALID [2022-04-08 07:34:44,648 INFO L272 TraceCheckUtils]: 12: Hoare triple {1432#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {1432#true} is VALID [2022-04-08 07:34:44,648 INFO L290 TraceCheckUtils]: 13: Hoare triple {1432#true} ~cond := #in~cond; {1476#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 07:34:44,649 INFO L290 TraceCheckUtils]: 14: Hoare triple {1476#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1480#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 07:34:44,649 INFO L290 TraceCheckUtils]: 15: Hoare triple {1480#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1480#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 07:34:44,650 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1480#(not (= |assume_abort_if_not_#in~cond| 0))} {1432#true} #63#return; {1487#(and (<= main_~b~0 2) (<= 0 main_~b~0))} is VALID [2022-04-08 07:34:44,650 INFO L272 TraceCheckUtils]: 17: Hoare triple {1487#(and (<= main_~b~0 2) (<= 0 main_~b~0))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1432#true} is VALID [2022-04-08 07:34:44,650 INFO L290 TraceCheckUtils]: 18: Hoare triple {1432#true} ~cond := #in~cond; {1476#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 07:34:44,653 INFO L290 TraceCheckUtils]: 19: Hoare triple {1476#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1480#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 07:34:44,654 INFO L290 TraceCheckUtils]: 20: Hoare triple {1480#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1480#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 07:34:44,654 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1480#(not (= |assume_abort_if_not_#in~cond| 0))} {1487#(and (<= main_~b~0 2) (<= 0 main_~b~0))} #65#return; {1503#(and (<= main_~b~0 2) (<= 1 main_~b~0))} is VALID [2022-04-08 07:34:44,655 INFO L290 TraceCheckUtils]: 22: Hoare triple {1503#(and (<= main_~b~0 2) (<= 1 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 07:34:44,655 INFO L290 TraceCheckUtils]: 23: Hoare triple {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 07:34:44,655 INFO L272 TraceCheckUtils]: 24: Hoare triple {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1432#true} is VALID [2022-04-08 07:34:44,655 INFO L290 TraceCheckUtils]: 25: Hoare triple {1432#true} ~cond := #in~cond; {1432#true} is VALID [2022-04-08 07:34:44,656 INFO L290 TraceCheckUtils]: 26: Hoare triple {1432#true} assume !(0 == ~cond); {1432#true} is VALID [2022-04-08 07:34:44,656 INFO L290 TraceCheckUtils]: 27: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-08 07:34:44,656 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1432#true} {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 07:34:44,657 INFO L290 TraceCheckUtils]: 29: Hoare triple {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 07:34:44,657 INFO L290 TraceCheckUtils]: 30: Hoare triple {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1532#(and (= main_~z~0 0) (<= main_~b~0 2) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 07:34:44,658 INFO L290 TraceCheckUtils]: 31: Hoare triple {1532#(and (= main_~z~0 0) (<= main_~b~0 2) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1536#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 07:34:44,658 INFO L290 TraceCheckUtils]: 32: Hoare triple {1536#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {1536#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 07:34:44,660 INFO L272 TraceCheckUtils]: 33: Hoare triple {1536#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1543#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 07:34:44,660 INFO L290 TraceCheckUtils]: 34: Hoare triple {1543#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1547#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:34:44,661 INFO L290 TraceCheckUtils]: 35: Hoare triple {1547#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1433#false} is VALID [2022-04-08 07:34:44,661 INFO L290 TraceCheckUtils]: 36: Hoare triple {1433#false} assume !false; {1433#false} is VALID [2022-04-08 07:34:44,661 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 07:34:44,661 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 07:35:11,212 INFO L290 TraceCheckUtils]: 36: Hoare triple {1433#false} assume !false; {1433#false} is VALID [2022-04-08 07:35:11,213 INFO L290 TraceCheckUtils]: 35: Hoare triple {1547#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1433#false} is VALID [2022-04-08 07:35:11,213 INFO L290 TraceCheckUtils]: 34: Hoare triple {1543#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1547#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:35:11,213 INFO L272 TraceCheckUtils]: 33: Hoare triple {1563#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1543#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 07:35:11,214 INFO L290 TraceCheckUtils]: 32: Hoare triple {1563#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1563#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 07:35:11,219 INFO L290 TraceCheckUtils]: 31: Hoare triple {1570#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1563#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 07:35:11,219 INFO L290 TraceCheckUtils]: 30: Hoare triple {1574#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1570#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-08 07:35:11,220 INFO L290 TraceCheckUtils]: 29: Hoare triple {1574#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {1574#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-08 07:35:11,221 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1432#true} {1574#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} #67#return; {1574#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-08 07:35:11,221 INFO L290 TraceCheckUtils]: 27: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-08 07:35:11,221 INFO L290 TraceCheckUtils]: 26: Hoare triple {1432#true} assume !(0 == ~cond); {1432#true} is VALID [2022-04-08 07:35:11,221 INFO L290 TraceCheckUtils]: 25: Hoare triple {1432#true} ~cond := #in~cond; {1432#true} is VALID [2022-04-08 07:35:11,221 INFO L272 TraceCheckUtils]: 24: Hoare triple {1574#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1432#true} is VALID [2022-04-08 07:35:11,222 INFO L290 TraceCheckUtils]: 23: Hoare triple {1574#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !false; {1574#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-08 07:35:11,224 INFO L290 TraceCheckUtils]: 22: Hoare triple {1599#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1574#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-08 07:35:11,224 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1480#(not (= |assume_abort_if_not_#in~cond| 0))} {1432#true} #65#return; {1599#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-08 07:35:11,225 INFO L290 TraceCheckUtils]: 20: Hoare triple {1480#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1480#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 07:35:11,225 INFO L290 TraceCheckUtils]: 19: Hoare triple {1612#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1480#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 07:35:11,226 INFO L290 TraceCheckUtils]: 18: Hoare triple {1432#true} ~cond := #in~cond; {1612#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 07:35:11,226 INFO L272 TraceCheckUtils]: 17: Hoare triple {1432#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1432#true} is VALID [2022-04-08 07:35:11,226 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1432#true} {1432#true} #63#return; {1432#true} is VALID [2022-04-08 07:35:11,226 INFO L290 TraceCheckUtils]: 15: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-08 07:35:11,226 INFO L290 TraceCheckUtils]: 14: Hoare triple {1432#true} assume !(0 == ~cond); {1432#true} is VALID [2022-04-08 07:35:11,226 INFO L290 TraceCheckUtils]: 13: Hoare triple {1432#true} ~cond := #in~cond; {1432#true} is VALID [2022-04-08 07:35:11,226 INFO L272 TraceCheckUtils]: 12: Hoare triple {1432#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {1432#true} is VALID [2022-04-08 07:35:11,226 INFO L290 TraceCheckUtils]: 11: Hoare triple {1432#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1432#true} is VALID [2022-04-08 07:35:11,226 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1432#true} {1432#true} #61#return; {1432#true} is VALID [2022-04-08 07:35:11,227 INFO L290 TraceCheckUtils]: 9: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-08 07:35:11,227 INFO L290 TraceCheckUtils]: 8: Hoare triple {1432#true} assume !(0 == ~cond); {1432#true} is VALID [2022-04-08 07:35:11,227 INFO L290 TraceCheckUtils]: 7: Hoare triple {1432#true} ~cond := #in~cond; {1432#true} is VALID [2022-04-08 07:35:11,230 INFO L272 TraceCheckUtils]: 6: Hoare triple {1432#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {1432#true} is VALID [2022-04-08 07:35:11,232 INFO L290 TraceCheckUtils]: 5: Hoare triple {1432#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {1432#true} is VALID [2022-04-08 07:35:11,237 INFO L272 TraceCheckUtils]: 4: Hoare triple {1432#true} call #t~ret6 := main(); {1432#true} is VALID [2022-04-08 07:35:11,238 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1432#true} {1432#true} #71#return; {1432#true} is VALID [2022-04-08 07:35:11,238 INFO L290 TraceCheckUtils]: 2: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-08 07:35:11,238 INFO L290 TraceCheckUtils]: 1: Hoare triple {1432#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); {1432#true} is VALID [2022-04-08 07:35:11,238 INFO L272 TraceCheckUtils]: 0: Hoare triple {1432#true} call ULTIMATE.init(); {1432#true} is VALID [2022-04-08 07:35:11,238 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 07:35:11,238 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 07:35:11,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1781419448] [2022-04-08 07:35:11,238 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 07:35:11,239 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1045813213] [2022-04-08 07:35:11,239 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1045813213] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 07:35:11,239 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 07:35:11,239 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2022-04-08 07:35:11,239 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 07:35:11,239 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [488213267] [2022-04-08 07:35:11,239 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [488213267] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 07:35:11,239 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 07:35:11,239 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 07:35:11,239 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [675741851] [2022-04-08 07:35:11,239 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 07:35:11,240 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 37 [2022-04-08 07:35:11,240 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 07:35:11,240 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 07:35:11,261 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 07:35:11,261 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 07:35:11,261 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 07:35:11,262 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 07:35:11,262 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=188, Unknown=0, NotChecked=0, Total=240 [2022-04-08 07:35:11,262 INFO L87 Difference]: Start difference. First operand 43 states and 49 transitions. Second operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 07:35:11,707 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:35:11,707 INFO L93 Difference]: Finished difference Result 65 states and 77 transitions. [2022-04-08 07:35:11,707 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 07:35:11,707 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 37 [2022-04-08 07:35:11,708 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 07:35:11,708 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 07:35:11,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 63 transitions. [2022-04-08 07:35:11,709 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 07:35:11,710 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 63 transitions. [2022-04-08 07:35:11,710 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 63 transitions. [2022-04-08 07:35:11,755 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 07:35:11,756 INFO L225 Difference]: With dead ends: 65 [2022-04-08 07:35:11,757 INFO L226 Difference]: Without dead ends: 53 [2022-04-08 07:35:11,757 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 58 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 54 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=61, Invalid=245, Unknown=0, NotChecked=0, Total=306 [2022-04-08 07:35:11,757 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 18 mSDsluCounter, 104 mSDsCounter, 0 mSdLazyCounter, 153 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 127 SdHoareTripleChecker+Invalid, 159 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 153 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 07:35:11,758 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 127 Invalid, 159 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 153 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 07:35:11,758 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-08 07:35:11,797 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 53. [2022-04-08 07:35:11,797 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 07:35:11,797 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 53 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 07:35:11,798 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 53 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 07:35:11,799 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 53 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 07:35:11,802 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:35:11,802 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2022-04-08 07:35:11,802 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 60 transitions. [2022-04-08 07:35:11,802 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:35:11,802 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:35:11,802 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-08 07:35:11,802 INFO L87 Difference]: Start difference. First operand has 53 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-08 07:35:11,806 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:35:11,806 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2022-04-08 07:35:11,806 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 60 transitions. [2022-04-08 07:35:11,806 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:35:11,806 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:35:11,806 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 07:35:11,806 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 07:35:11,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 07:35:11,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 60 transitions. [2022-04-08 07:35:11,808 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 60 transitions. Word has length 37 [2022-04-08 07:35:11,808 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 07:35:11,808 INFO L478 AbstractCegarLoop]: Abstraction has 53 states and 60 transitions. [2022-04-08 07:35:11,808 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 07:35:11,808 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 60 transitions. [2022-04-08 07:35:11,871 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 07:35:11,871 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 60 transitions. [2022-04-08 07:35:11,871 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-08 07:35:11,872 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 07:35:11,872 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 07:35:11,888 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-08 07:35:12,072 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 07:35:12,072 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 07:35:12,073 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 07:35:12,073 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 1 times [2022-04-08 07:35:12,073 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 07:35:12,073 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1914670717] [2022-04-08 07:35:12,073 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 07:35:12,073 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 2 times [2022-04-08 07:35:12,073 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 07:35:12,073 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1804988586] [2022-04-08 07:35:12,073 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 07:35:12,074 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 07:35:12,084 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 07:35:12,085 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1739272131] [2022-04-08 07:35:12,085 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 07:35:12,085 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 07:35:12,085 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 07:35:12,094 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-08 07:35:12,094 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-08 07:35:12,142 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 07:35:12,143 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 07:35:12,143 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 07:35:12,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:35:12,151 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 07:35:16,304 INFO L272 TraceCheckUtils]: 0: Hoare triple {2015#true} call ULTIMATE.init(); {2015#true} is VALID [2022-04-08 07:35:16,305 INFO L290 TraceCheckUtils]: 1: Hoare triple {2015#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); {2015#true} is VALID [2022-04-08 07:35:16,308 INFO L290 TraceCheckUtils]: 2: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-08 07:35:16,308 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2015#true} {2015#true} #71#return; {2015#true} is VALID [2022-04-08 07:35:16,308 INFO L272 TraceCheckUtils]: 4: Hoare triple {2015#true} call #t~ret6 := main(); {2015#true} is VALID [2022-04-08 07:35:16,308 INFO L290 TraceCheckUtils]: 5: Hoare triple {2015#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2015#true} is VALID [2022-04-08 07:35:16,308 INFO L272 TraceCheckUtils]: 6: Hoare triple {2015#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {2015#true} is VALID [2022-04-08 07:35:16,309 INFO L290 TraceCheckUtils]: 7: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-08 07:35:16,309 INFO L290 TraceCheckUtils]: 8: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-08 07:35:16,309 INFO L290 TraceCheckUtils]: 9: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-08 07:35:16,309 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2015#true} {2015#true} #61#return; {2015#true} is VALID [2022-04-08 07:35:16,309 INFO L290 TraceCheckUtils]: 11: Hoare triple {2015#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2015#true} is VALID [2022-04-08 07:35:16,309 INFO L272 TraceCheckUtils]: 12: Hoare triple {2015#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {2015#true} is VALID [2022-04-08 07:35:16,309 INFO L290 TraceCheckUtils]: 13: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-08 07:35:16,309 INFO L290 TraceCheckUtils]: 14: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-08 07:35:16,309 INFO L290 TraceCheckUtils]: 15: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-08 07:35:16,310 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2015#true} {2015#true} #63#return; {2015#true} is VALID [2022-04-08 07:35:16,310 INFO L272 TraceCheckUtils]: 17: Hoare triple {2015#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2015#true} is VALID [2022-04-08 07:35:16,310 INFO L290 TraceCheckUtils]: 18: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-08 07:35:16,310 INFO L290 TraceCheckUtils]: 19: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-08 07:35:16,310 INFO L290 TraceCheckUtils]: 20: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-08 07:35:16,310 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2015#true} {2015#true} #65#return; {2015#true} is VALID [2022-04-08 07:35:16,310 INFO L290 TraceCheckUtils]: 22: Hoare triple {2015#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2015#true} is VALID [2022-04-08 07:35:16,310 INFO L290 TraceCheckUtils]: 23: Hoare triple {2015#true} assume !false; {2015#true} is VALID [2022-04-08 07:35:16,310 INFO L272 TraceCheckUtils]: 24: Hoare triple {2015#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2015#true} is VALID [2022-04-08 07:35:16,311 INFO L290 TraceCheckUtils]: 25: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-08 07:35:16,311 INFO L290 TraceCheckUtils]: 26: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-08 07:35:16,311 INFO L290 TraceCheckUtils]: 27: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-08 07:35:16,311 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2015#true} {2015#true} #67#return; {2015#true} is VALID [2022-04-08 07:35:16,311 INFO L290 TraceCheckUtils]: 29: Hoare triple {2015#true} assume !!(0 != ~y~0); {2015#true} is VALID [2022-04-08 07:35:16,311 INFO L290 TraceCheckUtils]: 30: Hoare triple {2015#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2015#true} is VALID [2022-04-08 07:35:16,311 INFO L290 TraceCheckUtils]: 31: Hoare triple {2015#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2015#true} is VALID [2022-04-08 07:35:16,311 INFO L290 TraceCheckUtils]: 32: Hoare triple {2015#true} assume !false; {2015#true} is VALID [2022-04-08 07:35:16,311 INFO L272 TraceCheckUtils]: 33: Hoare triple {2015#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2015#true} is VALID [2022-04-08 07:35:16,312 INFO L290 TraceCheckUtils]: 34: Hoare triple {2015#true} ~cond := #in~cond; {2122#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:35:16,312 INFO L290 TraceCheckUtils]: 35: Hoare triple {2122#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2126#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 07:35:16,313 INFO L290 TraceCheckUtils]: 36: Hoare triple {2126#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2126#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 07:35:18,315 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {2126#(not (= |__VERIFIER_assert_#in~cond| 0))} {2015#true} #67#return; {2133#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} is UNKNOWN [2022-04-08 07:35:18,316 INFO L290 TraceCheckUtils]: 38: Hoare triple {2133#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} assume !(0 != ~y~0); {2137#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-08 07:35:18,316 INFO L272 TraceCheckUtils]: 39: Hoare triple {2137#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2141#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 07:35:18,317 INFO L290 TraceCheckUtils]: 40: Hoare triple {2141#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2145#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:35:18,317 INFO L290 TraceCheckUtils]: 41: Hoare triple {2145#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2016#false} is VALID [2022-04-08 07:35:18,317 INFO L290 TraceCheckUtils]: 42: Hoare triple {2016#false} assume !false; {2016#false} is VALID [2022-04-08 07:35:18,317 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-08 07:35:18,317 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 07:35:26,846 INFO L290 TraceCheckUtils]: 42: Hoare triple {2016#false} assume !false; {2016#false} is VALID [2022-04-08 07:35:26,847 INFO L290 TraceCheckUtils]: 41: Hoare triple {2145#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2016#false} is VALID [2022-04-08 07:35:26,847 INFO L290 TraceCheckUtils]: 40: Hoare triple {2141#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2145#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:35:26,851 INFO L272 TraceCheckUtils]: 39: Hoare triple {2137#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2141#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 07:35:26,852 INFO L290 TraceCheckUtils]: 38: Hoare triple {2164#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} assume !(0 != ~y~0); {2137#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-08 07:35:26,853 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2126#(not (= |__VERIFIER_assert_#in~cond| 0))} {2015#true} #67#return; {2164#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-08 07:35:26,853 INFO L290 TraceCheckUtils]: 36: Hoare triple {2126#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2126#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 07:35:26,853 INFO L290 TraceCheckUtils]: 35: Hoare triple {2177#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2126#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 07:35:26,854 INFO L290 TraceCheckUtils]: 34: Hoare triple {2015#true} ~cond := #in~cond; {2177#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 07:35:26,854 INFO L272 TraceCheckUtils]: 33: Hoare triple {2015#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2015#true} is VALID [2022-04-08 07:35:26,854 INFO L290 TraceCheckUtils]: 32: Hoare triple {2015#true} assume !false; {2015#true} is VALID [2022-04-08 07:35:26,854 INFO L290 TraceCheckUtils]: 31: Hoare triple {2015#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2015#true} is VALID [2022-04-08 07:35:26,854 INFO L290 TraceCheckUtils]: 30: Hoare triple {2015#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2015#true} is VALID [2022-04-08 07:35:26,854 INFO L290 TraceCheckUtils]: 29: Hoare triple {2015#true} assume !!(0 != ~y~0); {2015#true} is VALID [2022-04-08 07:35:26,854 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2015#true} {2015#true} #67#return; {2015#true} is VALID [2022-04-08 07:35:26,854 INFO L290 TraceCheckUtils]: 27: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-08 07:35:26,854 INFO L290 TraceCheckUtils]: 26: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-08 07:35:26,854 INFO L290 TraceCheckUtils]: 25: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-08 07:35:26,854 INFO L272 TraceCheckUtils]: 24: Hoare triple {2015#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2015#true} is VALID [2022-04-08 07:35:26,854 INFO L290 TraceCheckUtils]: 23: Hoare triple {2015#true} assume !false; {2015#true} is VALID [2022-04-08 07:35:26,855 INFO L290 TraceCheckUtils]: 22: Hoare triple {2015#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2015#true} is VALID [2022-04-08 07:35:26,855 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2015#true} {2015#true} #65#return; {2015#true} is VALID [2022-04-08 07:35:26,855 INFO L290 TraceCheckUtils]: 20: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-08 07:35:26,855 INFO L290 TraceCheckUtils]: 19: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-08 07:35:26,855 INFO L290 TraceCheckUtils]: 18: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-08 07:35:26,855 INFO L272 TraceCheckUtils]: 17: Hoare triple {2015#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2015#true} is VALID [2022-04-08 07:35:26,855 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2015#true} {2015#true} #63#return; {2015#true} is VALID [2022-04-08 07:35:26,855 INFO L290 TraceCheckUtils]: 15: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-08 07:35:26,855 INFO L290 TraceCheckUtils]: 14: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-08 07:35:26,856 INFO L290 TraceCheckUtils]: 13: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-08 07:35:26,856 INFO L272 TraceCheckUtils]: 12: Hoare triple {2015#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {2015#true} is VALID [2022-04-08 07:35:26,856 INFO L290 TraceCheckUtils]: 11: Hoare triple {2015#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2015#true} is VALID [2022-04-08 07:35:26,856 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2015#true} {2015#true} #61#return; {2015#true} is VALID [2022-04-08 07:35:26,856 INFO L290 TraceCheckUtils]: 9: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-08 07:35:26,856 INFO L290 TraceCheckUtils]: 8: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-08 07:35:26,857 INFO L290 TraceCheckUtils]: 7: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-08 07:35:26,857 INFO L272 TraceCheckUtils]: 6: Hoare triple {2015#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {2015#true} is VALID [2022-04-08 07:35:26,857 INFO L290 TraceCheckUtils]: 5: Hoare triple {2015#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2015#true} is VALID [2022-04-08 07:35:26,857 INFO L272 TraceCheckUtils]: 4: Hoare triple {2015#true} call #t~ret6 := main(); {2015#true} is VALID [2022-04-08 07:35:26,857 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2015#true} {2015#true} #71#return; {2015#true} is VALID [2022-04-08 07:35:26,857 INFO L290 TraceCheckUtils]: 2: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-08 07:35:26,857 INFO L290 TraceCheckUtils]: 1: Hoare triple {2015#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); {2015#true} is VALID [2022-04-08 07:35:26,857 INFO L272 TraceCheckUtils]: 0: Hoare triple {2015#true} call ULTIMATE.init(); {2015#true} is VALID [2022-04-08 07:35:26,857 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-08 07:35:26,857 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 07:35:26,857 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1804988586] [2022-04-08 07:35:26,858 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 07:35:26,858 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1739272131] [2022-04-08 07:35:26,858 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1739272131] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 07:35:26,858 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 07:35:26,858 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-08 07:35:26,858 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 07:35:26,858 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1914670717] [2022-04-08 07:35:26,858 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1914670717] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 07:35:26,858 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 07:35:26,858 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 07:35:26,858 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1149583870] [2022-04-08 07:35:26,859 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 07:35:26,859 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 43 [2022-04-08 07:35:26,860 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 07:35:26,860 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-08 07:35:28,886 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 34 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 07:35:28,886 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 07:35:28,886 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 07:35:28,886 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 07:35:28,886 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-08 07:35:28,887 INFO L87 Difference]: Start difference. First operand 53 states and 60 transitions. Second operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-08 07:35:30,940 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-08 07:35:31,616 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:35:31,616 INFO L93 Difference]: Finished difference Result 60 states and 66 transitions. [2022-04-08 07:35:31,616 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 07:35:31,616 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 43 [2022-04-08 07:35:31,616 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 07:35:31,616 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-08 07:35:31,617 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-08 07:35:31,617 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-08 07:35:31,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-08 07:35:31,618 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 37 transitions. [2022-04-08 07:35:33,644 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 36 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 07:35:33,645 INFO L225 Difference]: With dead ends: 60 [2022-04-08 07:35:33,645 INFO L226 Difference]: Without dead ends: 53 [2022-04-08 07:35:33,645 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 76 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-04-08 07:35:33,646 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 13 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 120 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.3s IncrementalHoareTripleChecker+Time [2022-04-08 07:35:33,646 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 120 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 69 Invalid, 1 Unknown, 0 Unchecked, 2.3s Time] [2022-04-08 07:35:33,646 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-08 07:35:33,703 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 52. [2022-04-08 07:35:33,703 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 07:35:33,703 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 52 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 36 states have internal predecessors, (40), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 07:35:33,704 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 52 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 36 states have internal predecessors, (40), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 07:35:33,704 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 52 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 36 states have internal predecessors, (40), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 07:35:33,705 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:35:33,705 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-08 07:35:33,705 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-08 07:35:33,706 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:35:33,706 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:35:33,706 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 36 states have internal predecessors, (40), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-08 07:35:33,706 INFO L87 Difference]: Start difference. First operand has 52 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 36 states have internal predecessors, (40), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-08 07:35:33,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:35:33,708 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-08 07:35:33,708 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-08 07:35:33,708 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:35:33,708 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:35:33,708 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 07:35:33,708 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 07:35:33,708 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 36 states have internal predecessors, (40), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 07:35:33,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 57 transitions. [2022-04-08 07:35:33,709 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 57 transitions. Word has length 43 [2022-04-08 07:35:33,710 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 07:35:33,710 INFO L478 AbstractCegarLoop]: Abstraction has 52 states and 57 transitions. [2022-04-08 07:35:33,710 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-08 07:35:33,710 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 57 transitions. [2022-04-08 07:35:39,798 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 54 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-08 07:35:39,798 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 57 transitions. [2022-04-08 07:35:39,798 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-08 07:35:39,798 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 07:35:39,798 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 07:35:39,816 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-08 07:35:39,999 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 07:35:39,999 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 07:35:39,999 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 07:35:40,000 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 1 times [2022-04-08 07:35:40,000 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 07:35:40,000 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1381060459] [2022-04-08 07:35:40,000 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 07:35:40,000 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 2 times [2022-04-08 07:35:40,000 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 07:35:40,000 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1730371739] [2022-04-08 07:35:40,000 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 07:35:40,001 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 07:35:40,012 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 07:35:40,012 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [62619770] [2022-04-08 07:35:40,012 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 07:35:40,012 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 07:35:40,012 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 07:35:40,013 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-08 07:35:40,014 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-08 07:35:40,052 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 07:35:40,053 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 07:35:40,053 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-08 07:35:40,066 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:35:40,067 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 07:35:40,676 INFO L272 TraceCheckUtils]: 0: Hoare triple {2616#true} call ULTIMATE.init(); {2616#true} is VALID [2022-04-08 07:35:40,676 INFO L290 TraceCheckUtils]: 1: Hoare triple {2616#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); {2616#true} is VALID [2022-04-08 07:35:40,676 INFO L290 TraceCheckUtils]: 2: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-08 07:35:40,676 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2616#true} {2616#true} #71#return; {2616#true} is VALID [2022-04-08 07:35:40,676 INFO L272 TraceCheckUtils]: 4: Hoare triple {2616#true} call #t~ret6 := main(); {2616#true} is VALID [2022-04-08 07:35:40,676 INFO L290 TraceCheckUtils]: 5: Hoare triple {2616#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2616#true} is VALID [2022-04-08 07:35:40,677 INFO L272 TraceCheckUtils]: 6: Hoare triple {2616#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {2616#true} is VALID [2022-04-08 07:35:40,677 INFO L290 TraceCheckUtils]: 7: Hoare triple {2616#true} ~cond := #in~cond; {2616#true} is VALID [2022-04-08 07:35:40,677 INFO L290 TraceCheckUtils]: 8: Hoare triple {2616#true} assume !(0 == ~cond); {2616#true} is VALID [2022-04-08 07:35:40,677 INFO L290 TraceCheckUtils]: 9: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-08 07:35:40,677 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2616#true} {2616#true} #61#return; {2616#true} is VALID [2022-04-08 07:35:40,677 INFO L290 TraceCheckUtils]: 11: Hoare triple {2616#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2616#true} is VALID [2022-04-08 07:35:40,677 INFO L272 TraceCheckUtils]: 12: Hoare triple {2616#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {2616#true} is VALID [2022-04-08 07:35:40,677 INFO L290 TraceCheckUtils]: 13: Hoare triple {2616#true} ~cond := #in~cond; {2660#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 07:35:40,678 INFO L290 TraceCheckUtils]: 14: Hoare triple {2660#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2664#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 07:35:40,678 INFO L290 TraceCheckUtils]: 15: Hoare triple {2664#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2664#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 07:35:40,678 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2664#(not (= |assume_abort_if_not_#in~cond| 0))} {2616#true} #63#return; {2671#(and (<= main_~b~0 2) (<= 0 main_~b~0))} is VALID [2022-04-08 07:35:40,678 INFO L272 TraceCheckUtils]: 17: Hoare triple {2671#(and (<= main_~b~0 2) (<= 0 main_~b~0))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2616#true} is VALID [2022-04-08 07:35:40,679 INFO L290 TraceCheckUtils]: 18: Hoare triple {2616#true} ~cond := #in~cond; {2616#true} is VALID [2022-04-08 07:35:40,679 INFO L290 TraceCheckUtils]: 19: Hoare triple {2616#true} assume !(0 == ~cond); {2616#true} is VALID [2022-04-08 07:35:40,679 INFO L290 TraceCheckUtils]: 20: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-08 07:35:40,679 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2616#true} {2671#(and (<= main_~b~0 2) (<= 0 main_~b~0))} #65#return; {2671#(and (<= main_~b~0 2) (<= 0 main_~b~0))} is VALID [2022-04-08 07:35:40,679 INFO L290 TraceCheckUtils]: 22: Hoare triple {2671#(and (<= main_~b~0 2) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2690#(<= main_~y~0 2)} is VALID [2022-04-08 07:35:40,680 INFO L290 TraceCheckUtils]: 23: Hoare triple {2690#(<= main_~y~0 2)} assume !false; {2690#(<= main_~y~0 2)} is VALID [2022-04-08 07:35:40,680 INFO L272 TraceCheckUtils]: 24: Hoare triple {2690#(<= main_~y~0 2)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2616#true} is VALID [2022-04-08 07:35:40,680 INFO L290 TraceCheckUtils]: 25: Hoare triple {2616#true} ~cond := #in~cond; {2616#true} is VALID [2022-04-08 07:35:40,680 INFO L290 TraceCheckUtils]: 26: Hoare triple {2616#true} assume !(0 == ~cond); {2616#true} is VALID [2022-04-08 07:35:40,680 INFO L290 TraceCheckUtils]: 27: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-08 07:35:40,680 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2616#true} {2690#(<= main_~y~0 2)} #67#return; {2690#(<= main_~y~0 2)} is VALID [2022-04-08 07:35:40,681 INFO L290 TraceCheckUtils]: 29: Hoare triple {2690#(<= main_~y~0 2)} assume !!(0 != ~y~0); {2712#(and (not (= main_~y~0 0)) (<= main_~y~0 2))} is VALID [2022-04-08 07:35:40,682 INFO L290 TraceCheckUtils]: 30: Hoare triple {2712#(and (not (= main_~y~0 0)) (<= main_~y~0 2))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} is VALID [2022-04-08 07:35:40,683 INFO L290 TraceCheckUtils]: 31: Hoare triple {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} is VALID [2022-04-08 07:35:40,683 INFO L290 TraceCheckUtils]: 32: Hoare triple {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} assume !false; {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} is VALID [2022-04-08 07:35:40,683 INFO L272 TraceCheckUtils]: 33: Hoare triple {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2616#true} is VALID [2022-04-08 07:35:40,683 INFO L290 TraceCheckUtils]: 34: Hoare triple {2616#true} ~cond := #in~cond; {2616#true} is VALID [2022-04-08 07:35:40,683 INFO L290 TraceCheckUtils]: 35: Hoare triple {2616#true} assume !(0 == ~cond); {2616#true} is VALID [2022-04-08 07:35:40,683 INFO L290 TraceCheckUtils]: 36: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-08 07:35:40,695 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2616#true} {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} #67#return; {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} is VALID [2022-04-08 07:35:40,696 INFO L290 TraceCheckUtils]: 38: Hoare triple {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} assume !!(0 != ~y~0); {2617#false} is VALID [2022-04-08 07:35:40,696 INFO L290 TraceCheckUtils]: 39: Hoare triple {2617#false} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2617#false} is VALID [2022-04-08 07:35:40,696 INFO L290 TraceCheckUtils]: 40: Hoare triple {2617#false} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2617#false} is VALID [2022-04-08 07:35:40,696 INFO L290 TraceCheckUtils]: 41: Hoare triple {2617#false} assume !false; {2617#false} is VALID [2022-04-08 07:35:40,696 INFO L272 TraceCheckUtils]: 42: Hoare triple {2617#false} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2617#false} is VALID [2022-04-08 07:35:40,696 INFO L290 TraceCheckUtils]: 43: Hoare triple {2617#false} ~cond := #in~cond; {2617#false} is VALID [2022-04-08 07:35:40,696 INFO L290 TraceCheckUtils]: 44: Hoare triple {2617#false} assume 0 == ~cond; {2617#false} is VALID [2022-04-08 07:35:40,697 INFO L290 TraceCheckUtils]: 45: Hoare triple {2617#false} assume !false; {2617#false} is VALID [2022-04-08 07:35:40,697 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 16 proven. 3 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-08 07:35:40,697 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 07:35:41,845 INFO L290 TraceCheckUtils]: 45: Hoare triple {2617#false} assume !false; {2617#false} is VALID [2022-04-08 07:35:41,846 INFO L290 TraceCheckUtils]: 44: Hoare triple {2617#false} assume 0 == ~cond; {2617#false} is VALID [2022-04-08 07:35:41,846 INFO L290 TraceCheckUtils]: 43: Hoare triple {2617#false} ~cond := #in~cond; {2617#false} is VALID [2022-04-08 07:35:41,846 INFO L272 TraceCheckUtils]: 42: Hoare triple {2617#false} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2617#false} is VALID [2022-04-08 07:35:41,846 INFO L290 TraceCheckUtils]: 41: Hoare triple {2617#false} assume !false; {2617#false} is VALID [2022-04-08 07:35:41,846 INFO L290 TraceCheckUtils]: 40: Hoare triple {2617#false} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2617#false} is VALID [2022-04-08 07:35:41,846 INFO L290 TraceCheckUtils]: 39: Hoare triple {2617#false} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2617#false} is VALID [2022-04-08 07:35:41,847 INFO L290 TraceCheckUtils]: 38: Hoare triple {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} assume !!(0 != ~y~0); {2617#false} is VALID [2022-04-08 07:35:41,847 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2616#true} {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} #67#return; {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} is VALID [2022-04-08 07:35:41,847 INFO L290 TraceCheckUtils]: 36: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-08 07:35:41,847 INFO L290 TraceCheckUtils]: 35: Hoare triple {2616#true} assume !(0 == ~cond); {2616#true} is VALID [2022-04-08 07:35:41,847 INFO L290 TraceCheckUtils]: 34: Hoare triple {2616#true} ~cond := #in~cond; {2616#true} is VALID [2022-04-08 07:35:41,848 INFO L272 TraceCheckUtils]: 33: Hoare triple {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2616#true} is VALID [2022-04-08 07:35:41,848 INFO L290 TraceCheckUtils]: 32: Hoare triple {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} assume !false; {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} is VALID [2022-04-08 07:35:41,852 INFO L290 TraceCheckUtils]: 31: Hoare triple {2804#(and (or (and (<= (div main_~y~0 2) 1) (<= 1 (mod (+ (div main_~y~0 2) 1) 2))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))) (or (not (< main_~y~0 0)) (and (<= 0 (+ (div main_~y~0 2) 2)) (<= 1 (mod (div main_~y~0 2) 2)))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} is VALID [2022-04-08 07:35:41,854 INFO L290 TraceCheckUtils]: 30: Hoare triple {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2804#(and (or (and (<= (div main_~y~0 2) 1) (<= 1 (mod (+ (div main_~y~0 2) 1) 2))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))) (or (not (< main_~y~0 0)) (and (<= 0 (+ (div main_~y~0 2) 2)) (<= 1 (mod (div main_~y~0 2) 2)))))} is VALID [2022-04-08 07:35:41,854 INFO L290 TraceCheckUtils]: 29: Hoare triple {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-08 07:35:41,854 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2616#true} {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} #67#return; {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-08 07:35:41,854 INFO L290 TraceCheckUtils]: 27: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-08 07:35:41,855 INFO L290 TraceCheckUtils]: 26: Hoare triple {2616#true} assume !(0 == ~cond); {2616#true} is VALID [2022-04-08 07:35:41,855 INFO L290 TraceCheckUtils]: 25: Hoare triple {2616#true} ~cond := #in~cond; {2616#true} is VALID [2022-04-08 07:35:41,855 INFO L272 TraceCheckUtils]: 24: Hoare triple {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2616#true} is VALID [2022-04-08 07:35:41,855 INFO L290 TraceCheckUtils]: 23: Hoare triple {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !false; {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-08 07:35:41,856 INFO L290 TraceCheckUtils]: 22: Hoare triple {2833#(<= (div (* (- 1) (div (+ (- 2) (* (- 1) main_~b~0)) (- 2))) (- 2)) 1)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-08 07:35:41,857 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2616#true} {2833#(<= (div (* (- 1) (div (+ (- 2) (* (- 1) main_~b~0)) (- 2))) (- 2)) 1)} #65#return; {2833#(<= (div (* (- 1) (div (+ (- 2) (* (- 1) main_~b~0)) (- 2))) (- 2)) 1)} is VALID [2022-04-08 07:35:41,857 INFO L290 TraceCheckUtils]: 20: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-08 07:35:41,857 INFO L290 TraceCheckUtils]: 19: Hoare triple {2616#true} assume !(0 == ~cond); {2616#true} is VALID [2022-04-08 07:35:41,857 INFO L290 TraceCheckUtils]: 18: Hoare triple {2616#true} ~cond := #in~cond; {2616#true} is VALID [2022-04-08 07:35:41,857 INFO L272 TraceCheckUtils]: 17: Hoare triple {2833#(<= (div (* (- 1) (div (+ (- 2) (* (- 1) main_~b~0)) (- 2))) (- 2)) 1)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2616#true} is VALID [2022-04-08 07:35:41,858 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2664#(not (= |assume_abort_if_not_#in~cond| 0))} {2616#true} #63#return; {2833#(<= (div (* (- 1) (div (+ (- 2) (* (- 1) main_~b~0)) (- 2))) (- 2)) 1)} is VALID [2022-04-08 07:35:41,858 INFO L290 TraceCheckUtils]: 15: Hoare triple {2664#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2664#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 07:35:41,858 INFO L290 TraceCheckUtils]: 14: Hoare triple {2861#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {2664#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 07:35:41,859 INFO L290 TraceCheckUtils]: 13: Hoare triple {2616#true} ~cond := #in~cond; {2861#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 07:35:41,859 INFO L272 TraceCheckUtils]: 12: Hoare triple {2616#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {2616#true} is VALID [2022-04-08 07:35:41,859 INFO L290 TraceCheckUtils]: 11: Hoare triple {2616#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2616#true} is VALID [2022-04-08 07:35:41,859 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2616#true} {2616#true} #61#return; {2616#true} is VALID [2022-04-08 07:35:41,859 INFO L290 TraceCheckUtils]: 9: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-08 07:35:41,859 INFO L290 TraceCheckUtils]: 8: Hoare triple {2616#true} assume !(0 == ~cond); {2616#true} is VALID [2022-04-08 07:35:41,859 INFO L290 TraceCheckUtils]: 7: Hoare triple {2616#true} ~cond := #in~cond; {2616#true} is VALID [2022-04-08 07:35:41,859 INFO L272 TraceCheckUtils]: 6: Hoare triple {2616#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {2616#true} is VALID [2022-04-08 07:35:41,859 INFO L290 TraceCheckUtils]: 5: Hoare triple {2616#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2616#true} is VALID [2022-04-08 07:35:41,859 INFO L272 TraceCheckUtils]: 4: Hoare triple {2616#true} call #t~ret6 := main(); {2616#true} is VALID [2022-04-08 07:35:41,859 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2616#true} {2616#true} #71#return; {2616#true} is VALID [2022-04-08 07:35:41,860 INFO L290 TraceCheckUtils]: 2: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-08 07:35:41,860 INFO L290 TraceCheckUtils]: 1: Hoare triple {2616#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); {2616#true} is VALID [2022-04-08 07:35:41,860 INFO L272 TraceCheckUtils]: 0: Hoare triple {2616#true} call ULTIMATE.init(); {2616#true} is VALID [2022-04-08 07:35:41,860 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 16 proven. 3 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-08 07:35:41,860 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 07:35:41,860 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1730371739] [2022-04-08 07:35:41,860 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 07:35:41,860 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [62619770] [2022-04-08 07:35:41,860 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [62619770] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 07:35:41,860 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 07:35:41,860 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-08 07:35:41,861 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 07:35:41,861 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1381060459] [2022-04-08 07:35:41,861 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1381060459] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 07:35:41,861 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 07:35:41,861 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 07:35:41,861 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [200287591] [2022-04-08 07:35:41,861 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 07:35:41,861 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 46 [2022-04-08 07:35:41,861 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 07:35:41,862 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 07:35:41,889 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 07:35:41,889 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 07:35:41,889 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 07:35:41,889 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 07:35:41,890 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2022-04-08 07:35:41,890 INFO L87 Difference]: Start difference. First operand 52 states and 57 transitions. Second operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 07:35:42,131 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:35:42,131 INFO L93 Difference]: Finished difference Result 70 states and 75 transitions. [2022-04-08 07:35:42,131 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 07:35:42,132 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 46 [2022-04-08 07:35:42,132 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 07:35:42,132 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 07:35:42,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 46 transitions. [2022-04-08 07:35:42,133 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 07:35:42,134 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 46 transitions. [2022-04-08 07:35:42,134 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 46 transitions. [2022-04-08 07:35:42,169 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 07:35:42,170 INFO L225 Difference]: With dead ends: 70 [2022-04-08 07:35:42,170 INFO L226 Difference]: Without dead ends: 39 [2022-04-08 07:35:42,171 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 78 SyntacticMatches, 3 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=60, Invalid=180, Unknown=0, NotChecked=0, Total=240 [2022-04-08 07:35:42,171 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 8 mSDsluCounter, 78 mSDsCounter, 0 mSdLazyCounter, 74 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 101 SdHoareTripleChecker+Invalid, 82 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 74 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 07:35:42,171 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 101 Invalid, 82 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 74 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 07:35:42,172 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2022-04-08 07:35:42,211 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 39. [2022-04-08 07:35:42,211 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 07:35:42,211 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand has 39 states, 26 states have (on average 1.0) internal successors, (26), 26 states have internal predecessors, (26), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 07:35:42,212 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand has 39 states, 26 states have (on average 1.0) internal successors, (26), 26 states have internal predecessors, (26), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 07:35:42,212 INFO L87 Difference]: Start difference. First operand 39 states. Second operand has 39 states, 26 states have (on average 1.0) internal successors, (26), 26 states have internal predecessors, (26), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 07:35:42,213 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:35:42,213 INFO L93 Difference]: Finished difference Result 39 states and 40 transitions. [2022-04-08 07:35:42,213 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 40 transitions. [2022-04-08 07:35:42,214 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:35:42,214 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:35:42,214 INFO L74 IsIncluded]: Start isIncluded. First operand has 39 states, 26 states have (on average 1.0) internal successors, (26), 26 states have internal predecessors, (26), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 39 states. [2022-04-08 07:35:42,214 INFO L87 Difference]: Start difference. First operand has 39 states, 26 states have (on average 1.0) internal successors, (26), 26 states have internal predecessors, (26), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 39 states. [2022-04-08 07:35:42,215 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:35:42,215 INFO L93 Difference]: Finished difference Result 39 states and 40 transitions. [2022-04-08 07:35:42,215 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 40 transitions. [2022-04-08 07:35:42,215 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:35:42,216 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:35:42,216 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 07:35:42,216 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 07:35:42,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 26 states have (on average 1.0) internal successors, (26), 26 states have internal predecessors, (26), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 07:35:42,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 40 transitions. [2022-04-08 07:35:42,217 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 40 transitions. Word has length 46 [2022-04-08 07:35:42,217 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 07:35:42,217 INFO L478 AbstractCegarLoop]: Abstraction has 39 states and 40 transitions. [2022-04-08 07:35:42,218 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 07:35:42,218 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 39 states and 40 transitions. [2022-04-08 07:35:44,266 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 39 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 07:35:44,266 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 40 transitions. [2022-04-08 07:35:44,267 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-08 07:35:44,267 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 07:35:44,267 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 07:35:44,283 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-08 07:35:44,473 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 07:35:44,473 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 07:35:44,473 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 07:35:44,473 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 3 times [2022-04-08 07:35:44,473 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 07:35:44,474 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [116132386] [2022-04-08 07:35:44,474 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 07:35:44,474 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 4 times [2022-04-08 07:35:44,474 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 07:35:44,474 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [940382346] [2022-04-08 07:35:44,474 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 07:35:44,474 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 07:35:44,486 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 07:35:44,487 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1718856325] [2022-04-08 07:35:44,487 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 07:35:44,487 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 07:35:44,487 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 07:35:44,488 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-08 07:35:44,489 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-08 07:35:44,520 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 07:35:44,520 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 07:35:44,521 INFO L263 TraceCheckSpWp]: Trace formula consists of 96 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-08 07:35:44,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 07:35:44,533 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 07:35:45,931 INFO L272 TraceCheckUtils]: 0: Hoare triple {3207#true} call ULTIMATE.init(); {3207#true} is VALID [2022-04-08 07:35:45,931 INFO L290 TraceCheckUtils]: 1: Hoare triple {3207#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); {3207#true} is VALID [2022-04-08 07:35:45,932 INFO L290 TraceCheckUtils]: 2: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-08 07:35:45,932 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3207#true} {3207#true} #71#return; {3207#true} is VALID [2022-04-08 07:35:45,932 INFO L272 TraceCheckUtils]: 4: Hoare triple {3207#true} call #t~ret6 := main(); {3207#true} is VALID [2022-04-08 07:35:45,932 INFO L290 TraceCheckUtils]: 5: Hoare triple {3207#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {3207#true} is VALID [2022-04-08 07:35:45,932 INFO L272 TraceCheckUtils]: 6: Hoare triple {3207#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {3207#true} is VALID [2022-04-08 07:35:45,932 INFO L290 TraceCheckUtils]: 7: Hoare triple {3207#true} ~cond := #in~cond; {3207#true} is VALID [2022-04-08 07:35:45,932 INFO L290 TraceCheckUtils]: 8: Hoare triple {3207#true} assume !(0 == ~cond); {3207#true} is VALID [2022-04-08 07:35:45,932 INFO L290 TraceCheckUtils]: 9: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-08 07:35:45,932 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3207#true} {3207#true} #61#return; {3207#true} is VALID [2022-04-08 07:35:45,932 INFO L290 TraceCheckUtils]: 11: Hoare triple {3207#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3207#true} is VALID [2022-04-08 07:35:45,932 INFO L272 TraceCheckUtils]: 12: Hoare triple {3207#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {3207#true} is VALID [2022-04-08 07:35:45,933 INFO L290 TraceCheckUtils]: 13: Hoare triple {3207#true} ~cond := #in~cond; {3251#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 07:35:45,933 INFO L290 TraceCheckUtils]: 14: Hoare triple {3251#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3255#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 07:35:45,933 INFO L290 TraceCheckUtils]: 15: Hoare triple {3255#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3255#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 07:35:45,934 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3255#(not (= |assume_abort_if_not_#in~cond| 0))} {3207#true} #63#return; {3262#(and (<= main_~b~0 2) (<= 0 main_~b~0))} is VALID [2022-04-08 07:35:45,934 INFO L272 TraceCheckUtils]: 17: Hoare triple {3262#(and (<= main_~b~0 2) (<= 0 main_~b~0))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3207#true} is VALID [2022-04-08 07:35:45,934 INFO L290 TraceCheckUtils]: 18: Hoare triple {3207#true} ~cond := #in~cond; {3207#true} is VALID [2022-04-08 07:35:45,934 INFO L290 TraceCheckUtils]: 19: Hoare triple {3207#true} assume !(0 == ~cond); {3207#true} is VALID [2022-04-08 07:35:45,934 INFO L290 TraceCheckUtils]: 20: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-08 07:35:45,934 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3207#true} {3262#(and (<= main_~b~0 2) (<= 0 main_~b~0))} #65#return; {3262#(and (<= main_~b~0 2) (<= 0 main_~b~0))} is VALID [2022-04-08 07:35:45,935 INFO L290 TraceCheckUtils]: 22: Hoare triple {3262#(and (<= main_~b~0 2) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3281#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 07:35:45,935 INFO L290 TraceCheckUtils]: 23: Hoare triple {3281#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {3281#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 07:35:45,935 INFO L272 TraceCheckUtils]: 24: Hoare triple {3281#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3207#true} is VALID [2022-04-08 07:35:45,935 INFO L290 TraceCheckUtils]: 25: Hoare triple {3207#true} ~cond := #in~cond; {3207#true} is VALID [2022-04-08 07:35:45,935 INFO L290 TraceCheckUtils]: 26: Hoare triple {3207#true} assume !(0 == ~cond); {3207#true} is VALID [2022-04-08 07:35:45,935 INFO L290 TraceCheckUtils]: 27: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-08 07:35:45,936 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3207#true} {3281#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {3281#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 07:35:45,936 INFO L290 TraceCheckUtils]: 29: Hoare triple {3281#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {3303#(and (= main_~z~0 0) (not (= main_~y~0 0)) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 07:35:45,937 INFO L290 TraceCheckUtils]: 30: Hoare triple {3303#(and (= main_~z~0 0) (not (= main_~y~0 0)) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3307#(and (= main_~z~0 0) (not (= main_~y~0 0)) (<= main_~b~0 2) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 07:35:45,937 INFO L290 TraceCheckUtils]: 31: Hoare triple {3307#(and (= main_~z~0 0) (not (= main_~y~0 0)) (<= main_~b~0 2) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} is VALID [2022-04-08 07:35:45,938 INFO L290 TraceCheckUtils]: 32: Hoare triple {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} assume !false; {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} is VALID [2022-04-08 07:35:45,938 INFO L272 TraceCheckUtils]: 33: Hoare triple {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3207#true} is VALID [2022-04-08 07:35:45,938 INFO L290 TraceCheckUtils]: 34: Hoare triple {3207#true} ~cond := #in~cond; {3321#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:35:45,938 INFO L290 TraceCheckUtils]: 35: Hoare triple {3321#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 07:35:45,939 INFO L290 TraceCheckUtils]: 36: Hoare triple {3325#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 07:35:45,939 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3325#(not (= |__VERIFIER_assert_#in~cond| 0))} {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} #67#return; {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} is VALID [2022-04-08 07:35:45,940 INFO L290 TraceCheckUtils]: 38: Hoare triple {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} assume !!(0 != ~y~0); {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} is VALID [2022-04-08 07:35:45,940 INFO L290 TraceCheckUtils]: 39: Hoare triple {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3338#(and (= main_~z~0 main_~x~0) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-08 07:35:45,941 INFO L290 TraceCheckUtils]: 40: Hoare triple {3338#(and (= main_~z~0 main_~x~0) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3342#(and (<= main_~b~0 2) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-08 07:35:45,942 INFO L290 TraceCheckUtils]: 41: Hoare triple {3342#(and (<= main_~b~0 2) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} assume !false; {3342#(and (<= main_~b~0 2) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-08 07:35:45,946 INFO L272 TraceCheckUtils]: 42: Hoare triple {3342#(and (<= main_~b~0 2) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3349#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 07:35:45,947 INFO L290 TraceCheckUtils]: 43: Hoare triple {3349#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3353#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:35:45,947 INFO L290 TraceCheckUtils]: 44: Hoare triple {3353#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3208#false} is VALID [2022-04-08 07:35:45,947 INFO L290 TraceCheckUtils]: 45: Hoare triple {3208#false} assume !false; {3208#false} is VALID [2022-04-08 07:35:45,947 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 9 proven. 13 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-08 07:35:45,947 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 07:36:41,094 INFO L290 TraceCheckUtils]: 45: Hoare triple {3208#false} assume !false; {3208#false} is VALID [2022-04-08 07:36:41,095 INFO L290 TraceCheckUtils]: 44: Hoare triple {3353#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3208#false} is VALID [2022-04-08 07:36:41,095 INFO L290 TraceCheckUtils]: 43: Hoare triple {3349#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3353#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 07:36:41,096 INFO L272 TraceCheckUtils]: 42: Hoare triple {3369#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3349#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 07:36:41,096 INFO L290 TraceCheckUtils]: 41: Hoare triple {3369#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {3369#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 07:36:41,118 INFO L290 TraceCheckUtils]: 40: Hoare triple {3376#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3369#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 07:36:41,121 INFO L290 TraceCheckUtils]: 39: Hoare triple {3380#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3376#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-08 07:36:41,121 INFO L290 TraceCheckUtils]: 38: Hoare triple {3380#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {3380#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-08 07:36:41,366 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3325#(not (= |__VERIFIER_assert_#in~cond| 0))} {3207#true} #67#return; {3380#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-08 07:36:41,367 INFO L290 TraceCheckUtils]: 36: Hoare triple {3325#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 07:36:41,367 INFO L290 TraceCheckUtils]: 35: Hoare triple {3396#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 07:36:41,367 INFO L290 TraceCheckUtils]: 34: Hoare triple {3207#true} ~cond := #in~cond; {3396#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 07:36:41,368 INFO L272 TraceCheckUtils]: 33: Hoare triple {3207#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3207#true} is VALID [2022-04-08 07:36:41,368 INFO L290 TraceCheckUtils]: 32: Hoare triple {3207#true} assume !false; {3207#true} is VALID [2022-04-08 07:36:41,368 INFO L290 TraceCheckUtils]: 31: Hoare triple {3207#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3207#true} is VALID [2022-04-08 07:36:41,368 INFO L290 TraceCheckUtils]: 30: Hoare triple {3207#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3207#true} is VALID [2022-04-08 07:36:41,368 INFO L290 TraceCheckUtils]: 29: Hoare triple {3207#true} assume !!(0 != ~y~0); {3207#true} is VALID [2022-04-08 07:36:41,368 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3207#true} {3207#true} #67#return; {3207#true} is VALID [2022-04-08 07:36:41,368 INFO L290 TraceCheckUtils]: 27: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-08 07:36:41,368 INFO L290 TraceCheckUtils]: 26: Hoare triple {3207#true} assume !(0 == ~cond); {3207#true} is VALID [2022-04-08 07:36:41,368 INFO L290 TraceCheckUtils]: 25: Hoare triple {3207#true} ~cond := #in~cond; {3207#true} is VALID [2022-04-08 07:36:41,368 INFO L272 TraceCheckUtils]: 24: Hoare triple {3207#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3207#true} is VALID [2022-04-08 07:36:41,368 INFO L290 TraceCheckUtils]: 23: Hoare triple {3207#true} assume !false; {3207#true} is VALID [2022-04-08 07:36:41,368 INFO L290 TraceCheckUtils]: 22: Hoare triple {3207#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3207#true} is VALID [2022-04-08 07:36:41,369 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3207#true} {3207#true} #65#return; {3207#true} is VALID [2022-04-08 07:36:41,369 INFO L290 TraceCheckUtils]: 20: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-08 07:36:41,369 INFO L290 TraceCheckUtils]: 19: Hoare triple {3207#true} assume !(0 == ~cond); {3207#true} is VALID [2022-04-08 07:36:41,369 INFO L290 TraceCheckUtils]: 18: Hoare triple {3207#true} ~cond := #in~cond; {3207#true} is VALID [2022-04-08 07:36:41,369 INFO L272 TraceCheckUtils]: 17: Hoare triple {3207#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3207#true} is VALID [2022-04-08 07:36:41,369 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3207#true} {3207#true} #63#return; {3207#true} is VALID [2022-04-08 07:36:41,369 INFO L290 TraceCheckUtils]: 15: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-08 07:36:41,369 INFO L290 TraceCheckUtils]: 14: Hoare triple {3207#true} assume !(0 == ~cond); {3207#true} is VALID [2022-04-08 07:36:41,369 INFO L290 TraceCheckUtils]: 13: Hoare triple {3207#true} ~cond := #in~cond; {3207#true} is VALID [2022-04-08 07:36:41,369 INFO L272 TraceCheckUtils]: 12: Hoare triple {3207#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {3207#true} is VALID [2022-04-08 07:36:41,369 INFO L290 TraceCheckUtils]: 11: Hoare triple {3207#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3207#true} is VALID [2022-04-08 07:36:41,369 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3207#true} {3207#true} #61#return; {3207#true} is VALID [2022-04-08 07:36:41,369 INFO L290 TraceCheckUtils]: 9: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-08 07:36:41,370 INFO L290 TraceCheckUtils]: 8: Hoare triple {3207#true} assume !(0 == ~cond); {3207#true} is VALID [2022-04-08 07:36:41,370 INFO L290 TraceCheckUtils]: 7: Hoare triple {3207#true} ~cond := #in~cond; {3207#true} is VALID [2022-04-08 07:36:41,370 INFO L272 TraceCheckUtils]: 6: Hoare triple {3207#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {3207#true} is VALID [2022-04-08 07:36:41,370 INFO L290 TraceCheckUtils]: 5: Hoare triple {3207#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {3207#true} is VALID [2022-04-08 07:36:41,370 INFO L272 TraceCheckUtils]: 4: Hoare triple {3207#true} call #t~ret6 := main(); {3207#true} is VALID [2022-04-08 07:36:41,370 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3207#true} {3207#true} #71#return; {3207#true} is VALID [2022-04-08 07:36:41,370 INFO L290 TraceCheckUtils]: 2: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-08 07:36:41,370 INFO L290 TraceCheckUtils]: 1: Hoare triple {3207#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); {3207#true} is VALID [2022-04-08 07:36:41,370 INFO L272 TraceCheckUtils]: 0: Hoare triple {3207#true} call ULTIMATE.init(); {3207#true} is VALID [2022-04-08 07:36:41,370 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 13 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-08 07:36:41,370 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 07:36:41,371 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [940382346] [2022-04-08 07:36:41,371 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 07:36:41,371 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1718856325] [2022-04-08 07:36:41,371 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1718856325] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 07:36:41,371 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 07:36:41,371 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 9] total 19 [2022-04-08 07:36:41,371 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 07:36:41,371 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [116132386] [2022-04-08 07:36:41,371 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [116132386] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 07:36:41,371 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 07:36:41,371 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 07:36:41,371 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [483784739] [2022-04-08 07:36:41,372 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 07:36:41,372 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 46 [2022-04-08 07:36:41,372 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 07:36:41,372 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 07:36:41,405 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 07:36:41,405 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 07:36:41,405 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 07:36:41,406 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 07:36:41,406 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=278, Unknown=0, NotChecked=0, Total=342 [2022-04-08 07:36:41,406 INFO L87 Difference]: Start difference. First operand 39 states and 40 transitions. Second operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 07:36:41,968 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:36:41,968 INFO L93 Difference]: Finished difference Result 39 states and 40 transitions. [2022-04-08 07:36:41,968 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 07:36:41,968 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 46 [2022-04-08 07:36:41,968 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 07:36:41,968 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 07:36:41,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 36 transitions. [2022-04-08 07:36:41,969 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 07:36:41,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 36 transitions. [2022-04-08 07:36:41,970 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 36 transitions. [2022-04-08 07:36:42,002 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 07:36:42,002 INFO L225 Difference]: With dead ends: 39 [2022-04-08 07:36:42,002 INFO L226 Difference]: Without dead ends: 0 [2022-04-08 07:36:42,003 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 71 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 96 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=75, Invalid=345, Unknown=0, NotChecked=0, Total=420 [2022-04-08 07:36:42,003 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 17 mSDsluCounter, 122 mSDsCounter, 0 mSdLazyCounter, 205 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 213 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 205 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 07:36:42,003 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 141 Invalid, 213 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 205 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 07:36:42,003 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-08 07:36:42,003 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-08 07:36:42,004 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 07:36:42,004 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 07:36:42,004 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 07:36:42,004 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 07:36:42,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:36:42,004 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 07:36:42,004 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 07:36:42,004 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:36:42,004 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:36:42,004 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-08 07:36:42,004 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-08 07:36:42,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 07:36:42,004 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 07:36:42,004 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 07:36:42,004 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:36:42,004 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 07:36:42,005 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 07:36:42,005 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 07:36:42,005 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 07:36:42,005 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-08 07:36:42,005 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 46 [2022-04-08 07:36:42,005 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 07:36:42,005 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-08 07:36:42,005 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-08 07:36:42,005 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-08 07:36:42,005 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 07:36:42,005 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 07:36:42,005 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 07:36:42,007 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-08 07:36:42,025 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-08 07:36:42,215 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 07:36:42,217 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-08 07:36:49,077 WARN L232 SmtUtils]: Spent 6.21s on a formula simplification. DAG size of input: 76 DAG size of output: 29 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-08 07:36:54,185 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 6) no Hoare annotation was computed. [2022-04-08 07:36:54,186 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 6) no Hoare annotation was computed. [2022-04-08 07:36:54,186 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 6) no Hoare annotation was computed. [2022-04-08 07:36:54,186 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 9 11) the Hoare annotation is: true [2022-04-08 07:36:54,186 INFO L878 garLoopResultBuilder]: At program point L10(line 10) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-08 07:36:54,186 INFO L878 garLoopResultBuilder]: At program point L10-2(lines 9 11) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-08 07:36:54,186 INFO L878 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 9 11) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-08 07:36:54,186 INFO L885 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: true [2022-04-08 07:36:54,186 INFO L878 garLoopResultBuilder]: At program point L27-1(line 27) the Hoare annotation is: (and (<= main_~b~0 2) (<= 0 main_~b~0)) [2022-04-08 07:36:54,186 INFO L885 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: true [2022-04-08 07:36:54,186 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 20 49) the Hoare annotation is: true [2022-04-08 07:36:54,186 INFO L885 garLoopResultBuilder]: At program point L25-1(line 25) the Hoare annotation is: true [2022-04-08 07:36:54,186 INFO L885 garLoopResultBuilder]: At program point L46(line 46) the Hoare annotation is: true [2022-04-08 07:36:54,186 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 20 49) the Hoare annotation is: true [2022-04-08 07:36:54,187 INFO L878 garLoopResultBuilder]: At program point L34-2(lines 34 45) the Hoare annotation is: (let ((.cse0 (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (.cse2 (<= main_~b~0 2)) (.cse3 (<= 1 main_~b~0))) (or (and .cse0 (<= main_~y~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0)) (let ((.cse1 (+ main_~y~0 1))) (and (<= 1 (mod .cse1 2)) .cse0 .cse2 .cse3 (<= 0 .cse1) (<= main_~y~0 1))) (and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) .cse2 (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) .cse3))) [2022-04-08 07:36:54,187 INFO L878 garLoopResultBuilder]: At program point L34-3(lines 34 45) the Hoare annotation is: (let ((.cse0 (* main_~b~0 main_~a~0))) (and (= main_~z~0 .cse0) (<= main_~b~0 2) (<= 1 main_~b~0) (or (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0) (= .cse0 (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0)) main_~z~0))))) [2022-04-08 07:36:54,187 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 20 49) the Hoare annotation is: true [2022-04-08 07:36:54,187 INFO L878 garLoopResultBuilder]: At program point L28(line 28) the Hoare annotation is: (and (<= main_~b~0 2) (<= 1 main_~b~0)) [2022-04-08 07:36:54,187 INFO L878 garLoopResultBuilder]: At program point L39(lines 39 42) the Hoare annotation is: (let ((.cse0 (<= 1 main_~b~0))) (or (and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) .cse0) (and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= main_~y~0 2) (= main_~b~0 main_~y~0) .cse0 (= main_~a~0 main_~x~0)))) [2022-04-08 07:36:54,187 INFO L878 garLoopResultBuilder]: At program point L39-2(lines 39 42) the Hoare annotation is: (let ((.cse1 (<= 1 main_~b~0))) (or (let ((.cse0 (+ main_~y~0 1))) (and (<= 1 (mod .cse0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= main_~b~0 2) .cse1 (<= 0 .cse0) (<= main_~y~0 1))) (and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (<= main_~y~0 2) (= main_~b~0 main_~y~0) .cse1 (= main_~a~0 main_~x~0)))) [2022-04-08 07:36:54,187 INFO L878 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse0 (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (.cse2 (<= main_~b~0 2)) (.cse3 (<= 1 main_~b~0))) (or (and .cse0 (<= main_~y~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0)) (let ((.cse1 (+ main_~y~0 1))) (and (<= 1 (mod .cse1 2)) .cse0 .cse2 .cse3 (<= 0 .cse1) (<= main_~y~0 1))) (and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) .cse2 (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) .cse3))) [2022-04-08 07:36:54,187 INFO L878 garLoopResultBuilder]: At program point L35-1(lines 34 45) the Hoare annotation is: (let ((.cse0 (* main_~b~0 main_~a~0))) (let ((.cse1 (or (= main_~z~0 .cse0) (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) .cse0) main_~y~0) 0)))) (.cse3 (<= main_~b~0 2)) (.cse4 (<= 1 main_~b~0))) (or (and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) .cse0) .cse1 (<= main_~y~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0)) (let ((.cse2 (+ main_~y~0 1))) (and (<= 1 (mod .cse2 2)) .cse1 .cse3 .cse4 (<= 0 .cse2) (<= main_~y~0 1))) (and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) .cse3 (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) .cse4)))) [2022-04-08 07:36:54,187 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-08 07:36:54,187 INFO L878 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-08 07:36:54,187 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-08 07:36:54,187 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-08 07:36:54,187 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-08 07:36:54,187 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-08 07:36:54,188 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-08 07:36:54,188 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 12 18) the Hoare annotation is: true [2022-04-08 07:36:54,188 INFO L878 garLoopResultBuilder]: At program point L14(lines 14 15) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 07:36:54,188 INFO L878 garLoopResultBuilder]: At program point L13(lines 13 16) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-08 07:36:54,188 INFO L878 garLoopResultBuilder]: At program point L13-2(lines 12 18) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-08 07:36:54,188 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 12 18) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-08 07:36:54,188 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 15) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 07:36:54,190 INFO L719 BasicCegarLoop]: Path program histogram: [4, 2, 2, 2, 2, 2, 2] [2022-04-08 07:36:54,191 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2022-04-08 07:36:54,193 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-08 07:36:54,201 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-08 07:36:56,232 INFO L163 areAnnotationChecker]: CFG has 40 edges. 39 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-08 07:36:56,251 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 08.04 07:36:56 BoogieIcfgContainer [2022-04-08 07:36:56,252 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-08 07:36:56,253 INFO L158 Benchmark]: Toolchain (without parser) took 160543.99ms. Allocated memory was 203.4MB in the beginning and 270.5MB in the end (delta: 67.1MB). Free memory was 152.9MB in the beginning and 180.3MB in the end (delta: -27.3MB). Peak memory consumption was 129.2MB. Max. memory is 8.0GB. [2022-04-08 07:36:56,253 INFO L158 Benchmark]: CDTParser took 0.08ms. Allocated memory is still 203.4MB. Free memory is still 169.1MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-08 07:36:56,253 INFO L158 Benchmark]: CACSL2BoogieTranslator took 164.11ms. Allocated memory is still 203.4MB. Free memory was 152.8MB in the beginning and 177.1MB in the end (delta: -24.4MB). Peak memory consumption was 10.8MB. Max. memory is 8.0GB. [2022-04-08 07:36:56,253 INFO L158 Benchmark]: Boogie Preprocessor took 21.87ms. Allocated memory is still 203.4MB. Free memory was 177.1MB in the beginning and 175.5MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-08 07:36:56,253 INFO L158 Benchmark]: RCFGBuilder took 259.99ms. Allocated memory is still 203.4MB. Free memory was 175.5MB in the beginning and 164.2MB in the end (delta: 11.3MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-08 07:36:56,254 INFO L158 Benchmark]: TraceAbstraction took 160094.15ms. Allocated memory was 203.4MB in the beginning and 270.5MB in the end (delta: 67.1MB). Free memory was 163.9MB in the beginning and 180.3MB in the end (delta: -16.4MB). Peak memory consumption was 141.6MB. Max. memory is 8.0GB. [2022-04-08 07:36:56,255 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.08ms. Allocated memory is still 203.4MB. Free memory is still 169.1MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 164.11ms. Allocated memory is still 203.4MB. Free memory was 152.8MB in the beginning and 177.1MB in the end (delta: -24.4MB). Peak memory consumption was 10.8MB. Max. memory is 8.0GB. * Boogie Preprocessor took 21.87ms. Allocated memory is still 203.4MB. Free memory was 177.1MB in the beginning and 175.5MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 259.99ms. Allocated memory is still 203.4MB. Free memory was 175.5MB in the beginning and 164.2MB in the end (delta: 11.3MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 160094.15ms. Allocated memory was 203.4MB in the beginning and 270.5MB in the end (delta: 67.1MB). Free memory was 163.9MB in the beginning and 180.3MB in the end (delta: -16.4MB). Peak memory consumption was 141.6MB. 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 - PositiveResult [Line: 15]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 35 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 158.0s, OverallIterations: 8, TraceHistogramMax: 3, PathProgramHistogramMax: 4, EmptinessCheckTime: 0.0s, AutomataDifference: 8.1s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 12.0s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 1 mSolverCounterUnknown, 116 SdHoareTripleChecker+Valid, 3.3s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 105 mSDsluCounter, 815 SdHoareTripleChecker+Invalid, 3.2s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 621 mSDsCounter, 38 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 678 IncrementalHoareTripleChecker+Invalid, 717 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 38 mSolverCounterUnsat, 194 mSDtfsCounter, 678 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 501 GetRequests, 406 SyntacticMatches, 10 SemanticMatches, 85 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 248 ImplicationChecksByTransitivity, 4.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=53occurred in iteration=5, InterpolantAutomatonStates: 61, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.3s AutomataMinimizationTime, 8 MinimizatonAttempts, 9 StatesRemovedByMinimization, 4 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 32 LocationsWithAnnotation, 114 PreInvPairs, 163 NumberOfFragments, 503 HoareAnnotationTreeSize, 114 FomulaSimplifications, 123 FormulaSimplificationTreeSizeReduction, 0.1s HoareSimplificationTime, 32 FomulaSimplificationsInter, 730 FormulaSimplificationTreeSizeReductionInter, 11.8s HoareSimplificationTimeInter, 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 - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 34]: Loop Invariant Derived loop invariant: (((((z + y * x == b * a && y <= 2) && b == y) && 1 <= y) && a == x) || (((((1 <= (y + 1) % 2 && z + y * x == b * a) && b <= 2) && 1 <= b) && 0 <= y + 1) && y <= 1)) || (((((z == 0 && y == b / 2) && b <= 2) && a * 2 == x) && !(b % 2 == 1)) && 1 <= b) - ProcedureContractResult [Line: 9]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 20]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 12]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: \old(cond) == cond || !(1 <= \old(cond)) RESULT: Ultimate proved your program to be correct! [2022-04-08 07:36:56,285 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...