/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_valuebound10.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 10:30:19,664 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 10:30:19,665 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 10:30:19,713 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 10:30:19,713 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 10:30:19,714 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 10:30:19,715 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 10:30:19,716 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 10:30:19,717 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 10:30:19,717 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 10:30:19,718 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 10:30:19,718 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 10:30:19,719 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 10:30:19,719 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 10:30:19,720 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 10:30:19,720 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 10:30:19,721 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 10:30:19,721 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 10:30:19,722 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 10:30:19,723 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 10:30:19,724 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 10:30:19,728 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 10:30:19,731 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 10:30:19,732 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 10:30:19,732 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 10:30:19,734 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 10:30:19,734 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 10:30:19,734 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 10:30:19,735 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 10:30:19,735 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 10:30:19,735 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 10:30:19,736 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 10:30:19,736 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 10:30:19,737 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 10:30:19,737 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 10:30:19,738 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 10:30:19,738 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 10:30:19,738 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 10:30:19,738 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 10:30:19,739 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 10:30:19,739 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 10:30:19,746 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 10:30:19,747 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-15 10:30:19,756 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 10:30:19,756 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 10:30:19,757 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 10:30:19,757 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-15 10:30:19,757 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 10:30:19,757 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-15 10:30:19,757 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 10:30:19,757 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 10:30:19,757 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 10:30:19,758 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 10:30:19,758 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-15 10:30:19,758 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 10:30:19,758 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 10:30:19,758 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 10:30:19,758 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 10:30:19,758 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 10:30:19,759 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 10:30:19,759 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 10:30:19,759 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 10:30:19,759 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 10:30:19,759 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 10:30:19,759 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 10:30:19,759 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 10:30:19,759 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 10:30:19,759 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-15 10:30:19,759 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-15 10:30:19,905 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 10:30:19,920 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 10:30:19,921 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 10:30:19,922 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 10:30:19,924 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 10:30:19,924 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound10.c [2022-04-15 10:30:19,979 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2a4536217/0da07dc2efcb41088e5c18e5850ea2d6/FLAG8dce906bd [2022-04-15 10:30:20,320 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 10:30:20,321 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound10.c [2022-04-15 10:30:20,324 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2a4536217/0da07dc2efcb41088e5c18e5850ea2d6/FLAG8dce906bd [2022-04-15 10:30:20,777 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2a4536217/0da07dc2efcb41088e5c18e5850ea2d6 [2022-04-15 10:30:20,778 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 10:30:20,779 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 10:30:20,780 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 10:30:20,780 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 10:30:20,789 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 10:30:20,789 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 10:30:20" (1/1) ... [2022-04-15 10:30:20,790 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 15.04 10:30:20, skipping insertion in model container [2022-04-15 10:30:20,790 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 10:30:20" (1/1) ... [2022-04-15 10:30:20,802 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 10:30:20,810 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 10:30:20,917 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_valuebound10.c[537,550] [2022-04-15 10:30:20,926 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 10:30:20,931 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 10:30:20,938 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_valuebound10.c[537,550] [2022-04-15 10:30:20,943 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 10:30:20,951 INFO L208 MainTranslator]: Completed translation [2022-04-15 10:30:20,951 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:30:20 WrapperNode [2022-04-15 10:30:20,952 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 10:30:20,955 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 10:30:20,955 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 10:30:20,955 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 10:30:20,962 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:30:20" (1/1) ... [2022-04-15 10:30:20,962 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:30:20" (1/1) ... [2022-04-15 10:30:20,967 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:30:20" (1/1) ... [2022-04-15 10:30:20,967 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:30:20" (1/1) ... [2022-04-15 10:30:20,971 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:30:20" (1/1) ... [2022-04-15 10:30:20,973 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:30:20" (1/1) ... [2022-04-15 10:30:20,974 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:30:20" (1/1) ... [2022-04-15 10:30:20,975 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 10:30:20,976 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 10:30:20,976 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 10:30:20,976 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 10:30:20,979 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:30:20" (1/1) ... [2022-04-15 10:30:20,983 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 10:30:20,989 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:30:20,998 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-15 10:30:21,015 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-15 10:30:21,026 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 10:30:21,026 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 10:30:21,026 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 10:30:21,026 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 10:30:21,026 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 10:30:21,026 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 10:30:21,026 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 10:30:21,026 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 10:30:21,026 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 10:30:21,027 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 10:30:21,027 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 10:30:21,027 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 10:30:21,027 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 10:30:21,027 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 10:30:21,027 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 10:30:21,027 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 10:30:21,027 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 10:30:21,027 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 10:30:21,027 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 10:30:21,027 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 10:30:21,065 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 10:30:21,066 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 10:30:21,189 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 10:30:21,205 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 10:30:21,205 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 10:30:21,207 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 10:30:21 BoogieIcfgContainer [2022-04-15 10:30:21,207 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 10:30:21,208 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 10:30:21,208 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 10:30:21,214 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 10:30:21,214 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 10:30:20" (1/3) ... [2022-04-15 10:30:21,215 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 15.04 10:30:21, skipping insertion in model container [2022-04-15 10:30:21,215 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 10:30:20" (2/3) ... [2022-04-15 10:30:21,215 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 15.04 10:30:21, skipping insertion in model container [2022-04-15 10:30:21,215 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 10:30:21" (3/3) ... [2022-04-15 10:30:21,216 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_valuebound10.c [2022-04-15 10:30:21,220 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 10:30:21,220 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 10:30:21,245 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 10:30:21,249 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-15 10:30:21,249 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 10:30:21,260 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-15 10:30:21,264 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 10:30:21,265 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:30:21,265 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-15 10:30:21,265 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:30:21,268 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:30:21,268 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 1 times [2022-04-15 10:30:21,273 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:30:21,273 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1941162909] [2022-04-15 10:30:21,279 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:30:21,280 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 2 times [2022-04-15 10:30:21,281 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:30:21,282 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1234075180] [2022-04-15 10:30:21,282 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:30:21,282 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:30:21,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:30:21,408 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 10:30:21,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:30:21,424 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-15 10:30:21,425 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-15 10:30:21,425 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-15 10:30:21,426 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 10:30:21,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:30:21,445 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 10:30:21,448 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 10:30:21,449 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 10:30:21,449 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-15 10:30:21,449 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 10:30:21,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:30:21,456 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 10:30:21,457 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 10:30:21,457 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 10:30:21,458 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-15 10:30:21,458 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 10:30:21,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:30:21,465 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 10:30:21,466 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 10:30:21,466 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 10:30:21,466 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-15 10:30:21,470 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-15 10:30:21,470 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-15 10:30:21,471 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-15 10:30:21,471 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-15 10:30:21,471 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret6 := main(); {35#true} is VALID [2022-04-15 10:30:21,471 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-15 10:30:21,471 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {35#true} is VALID [2022-04-15 10:30:21,471 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 10:30:21,472 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 10:30:21,473 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 10:30:21,473 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-15 10:30:21,473 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-15 10:30:21,473 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {35#true} is VALID [2022-04-15 10:30:21,473 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 10:30:21,474 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 10:30:21,474 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 10:30:21,474 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-15 10:30:21,474 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-15 10:30:21,474 INFO L290 TraceCheckUtils]: 18: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 10:30:21,475 INFO L290 TraceCheckUtils]: 19: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 10:30:21,475 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 10:30:21,475 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-15 10:30:21,476 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-15 10:30:21,476 INFO L290 TraceCheckUtils]: 23: Hoare triple {36#false} assume false; {36#false} is VALID [2022-04-15 10:30:21,476 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-15 10:30:21,476 INFO L290 TraceCheckUtils]: 25: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-15 10:30:21,476 INFO L290 TraceCheckUtils]: 26: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-15 10:30:21,476 INFO L290 TraceCheckUtils]: 27: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-15 10:30:21,477 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-15 10:30:21,477 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:30:21,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1234075180] [2022-04-15 10:30:21,478 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1234075180] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:30:21,478 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:30:21,478 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 10:30:21,480 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:30:21,480 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1941162909] [2022-04-15 10:30:21,480 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1941162909] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:30:21,480 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:30:21,480 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 10:30:21,480 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2078520657] [2022-04-15 10:30:21,481 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:30:21,484 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-15 10:30:21,485 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:30:21,487 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-15 10:30:21,518 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-15 10:30:21,519 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 10:30:21,519 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:30:21,541 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 10:30:21,542 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 10:30:21,544 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-15 10:30:21,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:30:21,686 INFO L93 Difference]: Finished difference Result 57 states and 77 transitions. [2022-04-15 10:30:21,687 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 10:30:21,693 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-15 10:30:21,693 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:30:21,694 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-15 10:30:21,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-15 10:30:21,701 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-15 10:30:21,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-15 10:30:21,707 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-15 10:30:21,794 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-15 10:30:21,804 INFO L225 Difference]: With dead ends: 57 [2022-04-15 10:30:21,804 INFO L226 Difference]: Without dead ends: 27 [2022-04-15 10:30:21,807 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-15 10:30:21,810 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-15 10:30:21,811 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-15 10:30:21,830 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-15 10:30:21,850 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-15 10:30:21,850 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:30:21,851 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-15 10:30:21,852 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-15 10:30:21,853 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-15 10:30:21,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:30:21,859 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-15 10:30:21,860 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-15 10:30:21,860 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:30:21,860 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:30:21,861 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-15 10:30:21,862 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-15 10:30:21,866 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:30:21,866 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-15 10:30:21,866 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-15 10:30:21,867 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:30:21,867 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:30:21,867 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:30:21,867 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:30:21,868 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-15 10:30:21,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2022-04-15 10:30:21,876 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 28 [2022-04-15 10:30:21,876 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:30:21,876 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2022-04-15 10:30:21,877 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-15 10:30:21,877 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 31 transitions. [2022-04-15 10:30:21,910 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-15 10:30:21,910 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-15 10:30:21,911 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 10:30:21,911 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:30:21,911 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-15 10:30:21,911 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 10:30:21,912 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:30:21,914 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:30:21,914 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 1 times [2022-04-15 10:30:21,914 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:30:21,914 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1426288347] [2022-04-15 10:30:21,915 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:30:21,915 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 2 times [2022-04-15 10:30:21,915 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:30:21,916 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [62345500] [2022-04-15 10:30:21,916 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:30:21,916 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:30:21,951 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:30:21,951 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [911224251] [2022-04-15 10:30:21,951 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:30:21,952 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:30:21,952 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:30:21,953 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-15 10:30:21,955 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-15 10:30:22,003 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 10:30:22,003 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:30:22,005 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 10:30:22,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:30:22,018 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:30:22,157 INFO L272 TraceCheckUtils]: 0: Hoare triple {277#true} call ULTIMATE.init(); {277#true} is VALID [2022-04-15 10:30:22,157 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-15 10:30:22,158 INFO L290 TraceCheckUtils]: 2: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-15 10:30:22,158 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {277#true} {277#true} #71#return; {277#true} is VALID [2022-04-15 10:30:22,158 INFO L272 TraceCheckUtils]: 4: Hoare triple {277#true} call #t~ret6 := main(); {277#true} is VALID [2022-04-15 10:30:22,158 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-15 10:30:22,158 INFO L272 TraceCheckUtils]: 6: Hoare triple {277#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {277#true} is VALID [2022-04-15 10:30:22,158 INFO L290 TraceCheckUtils]: 7: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-15 10:30:22,159 INFO L290 TraceCheckUtils]: 8: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-15 10:30:22,159 INFO L290 TraceCheckUtils]: 9: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-15 10:30:22,159 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {277#true} {277#true} #61#return; {277#true} is VALID [2022-04-15 10:30:22,159 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-15 10:30:22,159 INFO L272 TraceCheckUtils]: 12: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {277#true} is VALID [2022-04-15 10:30:22,160 INFO L290 TraceCheckUtils]: 13: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-15 10:30:22,160 INFO L290 TraceCheckUtils]: 14: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-15 10:30:22,160 INFO L290 TraceCheckUtils]: 15: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-15 10:30:22,160 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {277#true} {277#true} #63#return; {277#true} is VALID [2022-04-15 10:30:22,160 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-15 10:30:22,160 INFO L290 TraceCheckUtils]: 18: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-15 10:30:22,160 INFO L290 TraceCheckUtils]: 19: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-15 10:30:22,161 INFO L290 TraceCheckUtils]: 20: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-15 10:30:22,161 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {277#true} {277#true} #65#return; {277#true} is VALID [2022-04-15 10:30:22,161 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-15 10:30:22,162 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-15 10:30:22,163 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-15 10:30:22,163 INFO L290 TraceCheckUtils]: 25: Hoare triple {355#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {359#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:30:22,163 INFO L290 TraceCheckUtils]: 26: Hoare triple {359#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {278#false} is VALID [2022-04-15 10:30:22,164 INFO L290 TraceCheckUtils]: 27: Hoare triple {278#false} assume !false; {278#false} is VALID [2022-04-15 10:30:22,164 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-15 10:30:22,164 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 10:30:22,164 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:30:22,164 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [62345500] [2022-04-15 10:30:22,165 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:30:22,165 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [911224251] [2022-04-15 10:30:22,165 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [911224251] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:30:22,165 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:30:22,165 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 10:30:22,166 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:30:22,166 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1426288347] [2022-04-15 10:30:22,166 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1426288347] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:30:22,166 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:30:22,166 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 10:30:22,166 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1795629426] [2022-04-15 10:30:22,166 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:30:22,167 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-15 10:30:22,167 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:30:22,167 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-15 10:30:22,182 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-15 10:30:22,182 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 10:30:22,182 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:30:22,182 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 10:30:22,183 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 10:30:22,183 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-15 10:30:22,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:30:22,294 INFO L93 Difference]: Finished difference Result 39 states and 45 transitions. [2022-04-15 10:30:22,294 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 10:30:22,294 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-15 10:30:22,294 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:30:22,295 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-15 10:30:22,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-15 10:30:22,297 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-15 10:30:22,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-15 10:30:22,299 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 45 transitions. [2022-04-15 10:30:22,336 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-15 10:30:22,337 INFO L225 Difference]: With dead ends: 39 [2022-04-15 10:30:22,337 INFO L226 Difference]: Without dead ends: 37 [2022-04-15 10:30:22,337 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-15 10:30:22,338 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-15 10:30:22,339 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-15 10:30:22,339 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-15 10:30:22,346 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 33. [2022-04-15 10:30:22,346 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:30:22,346 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-15 10:30:22,347 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-15 10:30:22,347 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-15 10:30:22,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:30:22,349 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-15 10:30:22,350 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-15 10:30:22,350 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:30:22,350 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:30:22,351 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-15 10:30:22,351 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-15 10:30:22,353 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:30:22,353 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-15 10:30:22,354 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-15 10:30:22,354 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:30:22,354 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:30:22,354 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:30:22,354 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:30:22,355 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-15 10:30:22,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-04-15 10:30:22,357 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 28 [2022-04-15 10:30:22,357 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:30:22,357 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-04-15 10:30:22,357 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-15 10:30:22,357 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 37 transitions. [2022-04-15 10:30:22,391 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-15 10:30:22,392 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-04-15 10:30:22,392 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-15 10:30:22,392 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:30:22,392 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-15 10:30:22,409 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-15 10:30:22,608 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-15 10:30:22,609 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:30:22,609 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:30:22,609 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 1 times [2022-04-15 10:30:22,609 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:30:22,610 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1199275327] [2022-04-15 10:30:22,610 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:30:22,610 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 2 times [2022-04-15 10:30:22,610 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:30:22,610 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [171256669] [2022-04-15 10:30:22,610 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:30:22,610 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:30:22,638 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:30:22,639 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [556932049] [2022-04-15 10:30:22,639 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:30:22,639 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:30:22,639 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:30:22,654 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-15 10:30:22,655 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-15 10:30:22,687 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:30:22,687 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:30:22,687 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 10:30:22,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:30:22,700 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:30:22,814 INFO L272 TraceCheckUtils]: 0: Hoare triple {585#true} call ULTIMATE.init(); {585#true} is VALID [2022-04-15 10:30:22,815 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-15 10:30:22,815 INFO L290 TraceCheckUtils]: 2: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-15 10:30:22,815 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {585#true} {585#true} #71#return; {585#true} is VALID [2022-04-15 10:30:22,815 INFO L272 TraceCheckUtils]: 4: Hoare triple {585#true} call #t~ret6 := main(); {585#true} is VALID [2022-04-15 10:30:22,815 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-15 10:30:22,815 INFO L272 TraceCheckUtils]: 6: Hoare triple {585#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {585#true} is VALID [2022-04-15 10:30:22,816 INFO L290 TraceCheckUtils]: 7: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-15 10:30:22,816 INFO L290 TraceCheckUtils]: 8: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-15 10:30:22,816 INFO L290 TraceCheckUtils]: 9: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-15 10:30:22,816 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {585#true} {585#true} #61#return; {585#true} is VALID [2022-04-15 10:30:22,816 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-15 10:30:22,816 INFO L272 TraceCheckUtils]: 12: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {585#true} is VALID [2022-04-15 10:30:22,816 INFO L290 TraceCheckUtils]: 13: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-15 10:30:22,816 INFO L290 TraceCheckUtils]: 14: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-15 10:30:22,817 INFO L290 TraceCheckUtils]: 15: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-15 10:30:22,817 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {585#true} {585#true} #63#return; {585#true} is VALID [2022-04-15 10:30:22,817 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-15 10:30:22,817 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-15 10:30:22,818 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-15 10:30:22,818 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-15 10:30:22,818 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-15 10:30:22,819 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-15 10:30:22,819 INFO L290 TraceCheckUtils]: 23: Hoare triple {659#(<= 1 main_~y~0)} assume !false; {659#(<= 1 main_~y~0)} is VALID [2022-04-15 10:30:22,819 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-15 10:30:22,820 INFO L290 TraceCheckUtils]: 25: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-15 10:30:22,820 INFO L290 TraceCheckUtils]: 26: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-15 10:30:22,820 INFO L290 TraceCheckUtils]: 27: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-15 10:30:22,820 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {585#true} {659#(<= 1 main_~y~0)} #67#return; {659#(<= 1 main_~y~0)} is VALID [2022-04-15 10:30:22,821 INFO L290 TraceCheckUtils]: 29: Hoare triple {659#(<= 1 main_~y~0)} assume !(0 != ~y~0); {586#false} is VALID [2022-04-15 10:30:22,821 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-15 10:30:22,821 INFO L290 TraceCheckUtils]: 31: Hoare triple {586#false} ~cond := #in~cond; {586#false} is VALID [2022-04-15 10:30:22,821 INFO L290 TraceCheckUtils]: 32: Hoare triple {586#false} assume 0 == ~cond; {586#false} is VALID [2022-04-15 10:30:22,821 INFO L290 TraceCheckUtils]: 33: Hoare triple {586#false} assume !false; {586#false} is VALID [2022-04-15 10:30:22,822 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-15 10:30:22,822 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 10:30:22,822 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:30:22,822 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [171256669] [2022-04-15 10:30:22,822 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:30:22,822 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [556932049] [2022-04-15 10:30:22,822 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [556932049] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:30:22,822 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:30:22,822 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 10:30:22,823 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:30:22,823 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1199275327] [2022-04-15 10:30:22,823 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1199275327] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:30:22,823 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:30:22,823 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 10:30:22,823 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [596789157] [2022-04-15 10:30:22,823 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:30:22,823 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-15 10:30:22,824 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:30:22,824 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-15 10:30:22,842 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-15 10:30:22,843 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 10:30:22,843 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:30:22,843 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 10:30:22,843 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 10:30:22,844 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-15 10:30:22,982 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:30:22,982 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2022-04-15 10:30:22,982 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 10:30:22,982 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-15 10:30:22,982 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:30:22,982 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-15 10:30:22,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-15 10:30:22,984 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-15 10:30:22,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-15 10:30:22,985 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 45 transitions. [2022-04-15 10:30:23,017 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-15 10:30:23,018 INFO L225 Difference]: With dead ends: 43 [2022-04-15 10:30:23,018 INFO L226 Difference]: Without dead ends: 36 [2022-04-15 10:30:23,018 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-15 10:30:23,019 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-15 10:30:23,020 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-15 10:30:23,020 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-15 10:30:23,032 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 34. [2022-04-15 10:30:23,032 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:30:23,033 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-15 10:30:23,033 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-15 10:30:23,033 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-15 10:30:23,034 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:30:23,034 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-15 10:30:23,034 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-15 10:30:23,035 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:30:23,035 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:30:23,035 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-15 10:30:23,035 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-15 10:30:23,038 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:30:23,038 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-15 10:30:23,038 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-15 10:30:23,038 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:30:23,038 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:30:23,038 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:30:23,038 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:30:23,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-15 10:30:23,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 38 transitions. [2022-04-15 10:30:23,039 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 38 transitions. Word has length 34 [2022-04-15 10:30:23,040 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:30:23,040 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 38 transitions. [2022-04-15 10:30:23,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-15 10:30:23,040 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 38 transitions. [2022-04-15 10:30:23,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-15 10:30:23,070 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-15 10:30:23,070 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-15 10:30:23,070 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:30:23,070 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-15 10:30:23,089 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-15 10:30:23,277 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-15 10:30:23,278 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:30:23,278 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:30:23,278 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 1 times [2022-04-15 10:30:23,278 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:30:23,278 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1840625838] [2022-04-15 10:30:23,279 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:30:23,279 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 2 times [2022-04-15 10:30:23,279 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:30:23,279 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [692377345] [2022-04-15 10:30:23,279 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:30:23,279 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:30:23,295 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:30:23,295 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [33982204] [2022-04-15 10:30:23,295 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:30:23,296 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:30:23,296 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:30:23,308 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-15 10:30:23,309 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-15 10:30:23,348 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:30:23,349 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:30:23,349 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-15 10:30:23,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:30:23,360 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:30:25,866 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-15 10:30:25,866 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-15 10:30:25,867 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 10:30:25,867 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-15 10:30:25,867 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-15 10:30:25,867 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-15 10:30:25,867 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {922#true} is VALID [2022-04-15 10:30:25,867 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 10:30:25,867 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 10:30:25,867 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 10:30:25,868 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-15 10:30:25,868 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-15 10:30:25,868 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {922#true} is VALID [2022-04-15 10:30:25,868 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 10:30:25,868 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 10:30:25,868 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 10:30:25,868 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-15 10:30:25,868 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-15 10:30:25,868 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 10:30:25,869 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 10:30:25,869 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 10:30:25,869 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-15 10:30:25,870 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:30:25,870 INFO L290 TraceCheckUtils]: 23: Hoare triple {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:30:25,870 INFO L272 TraceCheckUtils]: 24: Hoare triple {993#(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)); {922#true} is VALID [2022-04-15 10:30:25,871 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {1003#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:30:25,871 INFO L290 TraceCheckUtils]: 26: Hoare triple {1003#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:30:25,871 INFO L290 TraceCheckUtils]: 27: Hoare triple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:30:25,872 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:30:25,873 INFO L290 TraceCheckUtils]: 29: Hoare triple {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1017#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:30:25,873 INFO L290 TraceCheckUtils]: 30: Hoare triple {1017#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~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; {1021#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-15 10:30:25,878 INFO L290 TraceCheckUtils]: 31: Hoare triple {1021#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (= 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); {1025#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:30:25,879 INFO L290 TraceCheckUtils]: 32: Hoare triple {1025#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {1025#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:30:25,967 INFO L272 TraceCheckUtils]: 33: Hoare triple {1025#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 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)); {1032#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:30:25,967 INFO L290 TraceCheckUtils]: 34: Hoare triple {1032#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1036#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:30:25,968 INFO L290 TraceCheckUtils]: 35: Hoare triple {1036#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-15 10:30:25,968 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-15 10:30:25,968 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 10:30:25,968 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:31:34,481 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-15 10:31:34,482 INFO L290 TraceCheckUtils]: 35: Hoare triple {1036#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-15 10:31:34,482 INFO L290 TraceCheckUtils]: 34: Hoare triple {1032#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1036#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:31:34,483 INFO L272 TraceCheckUtils]: 33: Hoare triple {1052#(= (+ 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)); {1032#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:31:34,483 INFO L290 TraceCheckUtils]: 32: Hoare triple {1052#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1052#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:31:34,495 INFO L290 TraceCheckUtils]: 31: Hoare triple {1059#(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); {1052#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:31:34,497 INFO L290 TraceCheckUtils]: 30: Hoare triple {1063#(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; {1059#(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-15 10:31:34,497 INFO L290 TraceCheckUtils]: 29: Hoare triple {1063#(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); {1063#(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-15 10:31:36,499 WARN L284 TraceCheckUtils]: 28: Hoare quadruple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} {922#true} #67#return; {1063#(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 UNKNOWN [2022-04-15 10:31:36,500 INFO L290 TraceCheckUtils]: 27: Hoare triple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:31:36,504 INFO L290 TraceCheckUtils]: 26: Hoare triple {1079#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:31:36,507 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {1079#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:31:36,507 INFO L272 TraceCheckUtils]: 24: Hoare triple {922#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {922#true} is VALID [2022-04-15 10:31:36,507 INFO L290 TraceCheckUtils]: 23: Hoare triple {922#true} assume !false; {922#true} is VALID [2022-04-15 10:31:36,508 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {922#true} is VALID [2022-04-15 10:31:36,508 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-15 10:31:36,508 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 10:31:36,508 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 10:31:36,508 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 10:31:36,508 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-15 10:31:36,508 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-15 10:31:36,508 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 10:31:36,508 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 10:31:36,509 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 10:31:36,509 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {922#true} is VALID [2022-04-15 10:31:36,509 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-15 10:31:36,509 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-15 10:31:36,509 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 10:31:36,509 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 10:31:36,509 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 10:31:36,509 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {922#true} is VALID [2022-04-15 10:31:36,509 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-15 10:31:36,509 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-15 10:31:36,510 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-15 10:31:36,510 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 10:31:36,510 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-15 10:31:36,510 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-15 10:31:36,510 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 10:31:36,510 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:31:36,510 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [692377345] [2022-04-15 10:31:36,510 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:31:36,511 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [33982204] [2022-04-15 10:31:36,511 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [33982204] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:31:36,511 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:31:36,511 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-15 10:31:36,511 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:31:36,511 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1840625838] [2022-04-15 10:31:36,511 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1840625838] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:31:36,511 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:31:36,511 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 10:31:36,511 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [543601705] [2022-04-15 10:31:36,512 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:31:36,512 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-15 10:31:36,512 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:31:36,512 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:31:38,536 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 30 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 10:31:38,537 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 10:31:38,537 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:31:38,537 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 10:31:38,537 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=142, Unknown=1, NotChecked=0, Total=182 [2022-04-15 10:31:38,538 INFO L87 Difference]: Start difference. First operand 34 states and 38 transitions. Second operand has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:31:44,507 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.95s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:31:48,172 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.56s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:31:49,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:31:49,538 INFO L93 Difference]: Finished difference Result 49 states and 56 transitions. [2022-04-15 10:31:49,539 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 10:31:49,539 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-15 10:31:49,539 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:31:49,539 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:31:49,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-04-15 10:31:49,541 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:31:49,542 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-04-15 10:31:49,542 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 53 transitions. [2022-04-15 10:31:49,797 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:31:49,798 INFO L225 Difference]: With dead ends: 49 [2022-04-15 10:31:49,798 INFO L226 Difference]: Without dead ends: 47 [2022-04-15 10:31:49,798 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 58 SyntacticMatches, 3 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 7.3s TimeCoverageRelationStatistics Valid=52, Invalid=187, Unknown=1, NotChecked=0, Total=240 [2022-04-15 10:31:49,800 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 18 mSDsluCounter, 105 mSDsCounter, 0 mSdLazyCounter, 137 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 140 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 137 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.8s IncrementalHoareTripleChecker+Time [2022-04-15 10:31:49,800 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 129 Invalid, 140 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 137 Invalid, 0 Unknown, 0 Unchecked, 4.8s Time] [2022-04-15 10:31:49,801 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-15 10:31:49,824 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 42. [2022-04-15 10:31:49,824 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:31:49,824 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:31:49,825 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:31:49,825 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:31:49,826 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:31:49,827 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-15 10:31:49,827 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-15 10:31:49,827 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:31:49,827 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:31:49,827 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 47 states. [2022-04-15 10:31:49,827 INFO L87 Difference]: Start difference. First operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 47 states. [2022-04-15 10:31:49,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:31:49,829 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-15 10:31:49,829 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-15 10:31:49,829 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:31:49,829 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:31:49,829 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:31:49,829 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:31:49,830 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:31:49,831 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 47 transitions. [2022-04-15 10:31:49,831 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 47 transitions. Word has length 37 [2022-04-15 10:31:49,831 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:31:49,831 INFO L478 AbstractCegarLoop]: Abstraction has 42 states and 47 transitions. [2022-04-15 10:31:49,831 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:31:49,831 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 47 transitions. [2022-04-15 10:31:50,177 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:31:50,177 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 47 transitions. [2022-04-15 10:31:50,178 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-15 10:31:50,178 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:31:50,178 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-15 10:31:50,196 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-15 10:31:50,378 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-15 10:31:50,378 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:31:50,379 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:31:50,379 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 1 times [2022-04-15 10:31:50,379 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:31:50,379 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1553022905] [2022-04-15 10:31:50,380 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:31:50,380 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 2 times [2022-04-15 10:31:50,380 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:31:50,380 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2035921773] [2022-04-15 10:31:50,380 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:31:50,380 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:31:50,409 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:31:50,409 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1889877728] [2022-04-15 10:31:50,409 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:31:50,409 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:31:50,410 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:31:50,420 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-15 10:31:50,422 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-15 10:31:50,462 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:31:50,462 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:31:50,462 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-15 10:31:50,470 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:31:50,471 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:31:52,171 INFO L272 TraceCheckUtils]: 0: Hoare triple {1437#true} call ULTIMATE.init(); {1437#true} is VALID [2022-04-15 10:31:52,171 INFO L290 TraceCheckUtils]: 1: Hoare triple {1437#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); {1437#true} is VALID [2022-04-15 10:31:52,171 INFO L290 TraceCheckUtils]: 2: Hoare triple {1437#true} assume true; {1437#true} is VALID [2022-04-15 10:31:52,172 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1437#true} {1437#true} #71#return; {1437#true} is VALID [2022-04-15 10:31:52,172 INFO L272 TraceCheckUtils]: 4: Hoare triple {1437#true} call #t~ret6 := main(); {1437#true} is VALID [2022-04-15 10:31:52,172 INFO L290 TraceCheckUtils]: 5: Hoare triple {1437#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; {1437#true} is VALID [2022-04-15 10:31:52,172 INFO L272 TraceCheckUtils]: 6: Hoare triple {1437#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {1437#true} is VALID [2022-04-15 10:31:52,172 INFO L290 TraceCheckUtils]: 7: Hoare triple {1437#true} ~cond := #in~cond; {1437#true} is VALID [2022-04-15 10:31:52,172 INFO L290 TraceCheckUtils]: 8: Hoare triple {1437#true} assume !(0 == ~cond); {1437#true} is VALID [2022-04-15 10:31:52,172 INFO L290 TraceCheckUtils]: 9: Hoare triple {1437#true} assume true; {1437#true} is VALID [2022-04-15 10:31:52,172 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1437#true} {1437#true} #61#return; {1437#true} is VALID [2022-04-15 10:31:52,172 INFO L290 TraceCheckUtils]: 11: Hoare triple {1437#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1437#true} is VALID [2022-04-15 10:31:52,173 INFO L272 TraceCheckUtils]: 12: Hoare triple {1437#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {1437#true} is VALID [2022-04-15 10:31:52,173 INFO L290 TraceCheckUtils]: 13: Hoare triple {1437#true} ~cond := #in~cond; {1437#true} is VALID [2022-04-15 10:31:52,173 INFO L290 TraceCheckUtils]: 14: Hoare triple {1437#true} assume !(0 == ~cond); {1437#true} is VALID [2022-04-15 10:31:52,173 INFO L290 TraceCheckUtils]: 15: Hoare triple {1437#true} assume true; {1437#true} is VALID [2022-04-15 10:31:52,173 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1437#true} {1437#true} #63#return; {1437#true} is VALID [2022-04-15 10:31:52,173 INFO L272 TraceCheckUtils]: 17: Hoare triple {1437#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1437#true} is VALID [2022-04-15 10:31:52,178 INFO L290 TraceCheckUtils]: 18: Hoare triple {1437#true} ~cond := #in~cond; {1496#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:31:52,181 INFO L290 TraceCheckUtils]: 19: Hoare triple {1496#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1500#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:31:52,181 INFO L290 TraceCheckUtils]: 20: Hoare triple {1500#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1500#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:31:52,182 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1500#(not (= |assume_abort_if_not_#in~cond| 0))} {1437#true} #65#return; {1507#(<= 1 main_~b~0)} is VALID [2022-04-15 10:31:52,182 INFO L290 TraceCheckUtils]: 22: Hoare triple {1507#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:31:52,182 INFO L290 TraceCheckUtils]: 23: Hoare triple {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:31:52,182 INFO L272 TraceCheckUtils]: 24: Hoare triple {1511#(and (= main_~z~0 0) (= 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)); {1437#true} is VALID [2022-04-15 10:31:52,183 INFO L290 TraceCheckUtils]: 25: Hoare triple {1437#true} ~cond := #in~cond; {1521#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:31:52,183 INFO L290 TraceCheckUtils]: 26: Hoare triple {1521#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:31:52,184 INFO L290 TraceCheckUtils]: 27: Hoare triple {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:31:52,185 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:31:52,185 INFO L290 TraceCheckUtils]: 29: Hoare triple {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:31:52,185 INFO L290 TraceCheckUtils]: 30: Hoare triple {1511#(and (= main_~z~0 0) (= 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)); {1538#(and (= main_~z~0 0) (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-15 10:31:52,186 INFO L290 TraceCheckUtils]: 31: Hoare triple {1538#(and (= main_~z~0 0) (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); {1542#(and (= main_~z~0 0) (= main_~y~0 (div 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-15 10:31:52,186 INFO L290 TraceCheckUtils]: 32: Hoare triple {1542#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {1542#(and (= main_~z~0 0) (= main_~y~0 (div 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-15 10:31:52,188 INFO L272 TraceCheckUtils]: 33: Hoare triple {1542#(and (= main_~z~0 0) (= main_~y~0 (div 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)); {1549#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:31:52,188 INFO L290 TraceCheckUtils]: 34: Hoare triple {1549#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1553#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:31:52,189 INFO L290 TraceCheckUtils]: 35: Hoare triple {1553#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1438#false} is VALID [2022-04-15 10:31:52,189 INFO L290 TraceCheckUtils]: 36: Hoare triple {1438#false} assume !false; {1438#false} is VALID [2022-04-15 10:31:52,189 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 7 proven. 3 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 10:31:52,189 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:32:22,951 INFO L290 TraceCheckUtils]: 36: Hoare triple {1438#false} assume !false; {1438#false} is VALID [2022-04-15 10:32:22,951 INFO L290 TraceCheckUtils]: 35: Hoare triple {1553#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1438#false} is VALID [2022-04-15 10:32:22,952 INFO L290 TraceCheckUtils]: 34: Hoare triple {1549#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1553#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:32:22,952 INFO L272 TraceCheckUtils]: 33: Hoare triple {1569#(= (+ 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)); {1549#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:32:22,953 INFO L290 TraceCheckUtils]: 32: Hoare triple {1569#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1569#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:32:22,957 INFO L290 TraceCheckUtils]: 31: Hoare triple {1576#(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); {1569#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:32:22,958 INFO L290 TraceCheckUtils]: 30: Hoare triple {1580#(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)); {1576#(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-15 10:32:22,959 INFO L290 TraceCheckUtils]: 29: Hoare triple {1580#(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); {1580#(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-15 10:32:22,961 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} {1587#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} #67#return; {1580#(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-15 10:32:22,961 INFO L290 TraceCheckUtils]: 27: Hoare triple {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:32:22,962 INFO L290 TraceCheckUtils]: 26: Hoare triple {1597#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:32:22,962 INFO L290 TraceCheckUtils]: 25: Hoare triple {1437#true} ~cond := #in~cond; {1597#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:32:22,962 INFO L272 TraceCheckUtils]: 24: Hoare triple {1587#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1437#true} is VALID [2022-04-15 10:32:22,963 INFO L290 TraceCheckUtils]: 23: Hoare triple {1587#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} assume !false; {1587#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} is VALID [2022-04-15 10:32:22,963 INFO L290 TraceCheckUtils]: 22: Hoare triple {1607#(or (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1587#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} is VALID [2022-04-15 10:32:22,964 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1500#(not (= |assume_abort_if_not_#in~cond| 0))} {1437#true} #65#return; {1607#(or (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-15 10:32:22,964 INFO L290 TraceCheckUtils]: 20: Hoare triple {1500#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1500#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:32:22,965 INFO L290 TraceCheckUtils]: 19: Hoare triple {1620#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1500#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:32:22,965 INFO L290 TraceCheckUtils]: 18: Hoare triple {1437#true} ~cond := #in~cond; {1620#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 10:32:22,965 INFO L272 TraceCheckUtils]: 17: Hoare triple {1437#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1437#true} is VALID [2022-04-15 10:32:22,965 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1437#true} {1437#true} #63#return; {1437#true} is VALID [2022-04-15 10:32:22,965 INFO L290 TraceCheckUtils]: 15: Hoare triple {1437#true} assume true; {1437#true} is VALID [2022-04-15 10:32:22,965 INFO L290 TraceCheckUtils]: 14: Hoare triple {1437#true} assume !(0 == ~cond); {1437#true} is VALID [2022-04-15 10:32:22,965 INFO L290 TraceCheckUtils]: 13: Hoare triple {1437#true} ~cond := #in~cond; {1437#true} is VALID [2022-04-15 10:32:22,966 INFO L272 TraceCheckUtils]: 12: Hoare triple {1437#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {1437#true} is VALID [2022-04-15 10:32:22,966 INFO L290 TraceCheckUtils]: 11: Hoare triple {1437#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1437#true} is VALID [2022-04-15 10:32:22,966 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1437#true} {1437#true} #61#return; {1437#true} is VALID [2022-04-15 10:32:22,966 INFO L290 TraceCheckUtils]: 9: Hoare triple {1437#true} assume true; {1437#true} is VALID [2022-04-15 10:32:22,966 INFO L290 TraceCheckUtils]: 8: Hoare triple {1437#true} assume !(0 == ~cond); {1437#true} is VALID [2022-04-15 10:32:22,966 INFO L290 TraceCheckUtils]: 7: Hoare triple {1437#true} ~cond := #in~cond; {1437#true} is VALID [2022-04-15 10:32:22,966 INFO L272 TraceCheckUtils]: 6: Hoare triple {1437#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {1437#true} is VALID [2022-04-15 10:32:22,966 INFO L290 TraceCheckUtils]: 5: Hoare triple {1437#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; {1437#true} is VALID [2022-04-15 10:32:22,967 INFO L272 TraceCheckUtils]: 4: Hoare triple {1437#true} call #t~ret6 := main(); {1437#true} is VALID [2022-04-15 10:32:22,967 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1437#true} {1437#true} #71#return; {1437#true} is VALID [2022-04-15 10:32:22,967 INFO L290 TraceCheckUtils]: 2: Hoare triple {1437#true} assume true; {1437#true} is VALID [2022-04-15 10:32:22,967 INFO L290 TraceCheckUtils]: 1: Hoare triple {1437#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); {1437#true} is VALID [2022-04-15 10:32:22,967 INFO L272 TraceCheckUtils]: 0: Hoare triple {1437#true} call ULTIMATE.init(); {1437#true} is VALID [2022-04-15 10:32:22,967 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 7 proven. 3 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 10:32:22,967 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:32:22,968 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2035921773] [2022-04-15 10:32:22,968 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:32:22,968 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1889877728] [2022-04-15 10:32:22,968 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1889877728] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:32:22,968 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:32:22,968 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13] total 19 [2022-04-15 10:32:22,968 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:32:22,968 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1553022905] [2022-04-15 10:32:22,968 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1553022905] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:32:22,968 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:32:22,968 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 10:32:22,968 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1358965901] [2022-04-15 10:32:22,969 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:32:22,969 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-15 10:32:22,969 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:32:22,969 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:32:22,993 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-15 10:32:22,993 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 10:32:22,993 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:32:22,994 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 10:32:22,994 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=280, Unknown=0, NotChecked=0, Total=342 [2022-04-15 10:32:22,994 INFO L87 Difference]: Start difference. First operand 42 states and 47 transitions. Second operand has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:32:23,596 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:32:23,596 INFO L93 Difference]: Finished difference Result 59 states and 66 transitions. [2022-04-15 10:32:23,596 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 10:32:23,597 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-15 10:32:23,597 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:32:23,597 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:32:23,598 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 56 transitions. [2022-04-15 10:32:23,598 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:32:23,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 56 transitions. [2022-04-15 10:32:23,599 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 56 transitions. [2022-04-15 10:32:23,643 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:32:23,644 INFO L225 Difference]: With dead ends: 59 [2022-04-15 10:32:23,644 INFO L226 Difference]: Without dead ends: 52 [2022-04-15 10:32:23,644 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 76 GetRequests, 54 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 76 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=80, Invalid=382, Unknown=0, NotChecked=0, Total=462 [2022-04-15 10:32:23,659 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 26 mSDsluCounter, 118 mSDsCounter, 0 mSdLazyCounter, 204 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 209 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 204 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 10:32:23,659 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 139 Invalid, 209 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 204 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 10:32:23,660 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-15 10:32:23,697 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 50. [2022-04-15 10:32:23,697 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:32:23,698 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:32:23,698 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:32:23,698 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:32:23,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:32:23,700 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-15 10:32:23,700 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-15 10:32:23,700 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:32:23,700 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:32:23,700 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 52 states. [2022-04-15 10:32:23,700 INFO L87 Difference]: Start difference. First operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 52 states. [2022-04-15 10:32:23,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:32:23,702 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-15 10:32:23,702 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-15 10:32:23,702 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:32:23,702 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:32:23,702 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:32:23,702 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:32:23,703 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:32:23,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-15 10:32:23,704 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 37 [2022-04-15 10:32:23,704 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:32:23,704 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-15 10:32:23,705 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 10:32:23,705 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-15 10:32:24,406 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:32:24,406 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-15 10:32:24,406 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 10:32:24,406 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:32:24,407 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-15 10:32:24,429 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-15 10:32:24,607 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-15 10:32:24,607 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:32:24,607 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:32:24,608 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 1 times [2022-04-15 10:32:24,608 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:32:24,608 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [65258244] [2022-04-15 10:32:24,608 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:32:24,608 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 2 times [2022-04-15 10:32:24,608 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:32:24,608 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [771969551] [2022-04-15 10:32:24,608 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:32:24,608 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:32:24,618 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:32:24,618 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1143739727] [2022-04-15 10:32:24,618 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:32:24,618 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:32:24,619 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:32:24,623 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-15 10:32:24,652 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-15 10:32:24,694 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:32:24,694 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:32:24,695 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 10:32:24,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:32:24,703 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:32:31,273 INFO L272 TraceCheckUtils]: 0: Hoare triple {2005#true} call ULTIMATE.init(); {2005#true} is VALID [2022-04-15 10:32:31,274 INFO L290 TraceCheckUtils]: 1: Hoare triple {2005#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); {2005#true} is VALID [2022-04-15 10:32:31,274 INFO L290 TraceCheckUtils]: 2: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-15 10:32:31,274 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2005#true} {2005#true} #71#return; {2005#true} is VALID [2022-04-15 10:32:31,274 INFO L272 TraceCheckUtils]: 4: Hoare triple {2005#true} call #t~ret6 := main(); {2005#true} is VALID [2022-04-15 10:32:31,274 INFO L290 TraceCheckUtils]: 5: Hoare triple {2005#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; {2005#true} is VALID [2022-04-15 10:32:31,274 INFO L272 TraceCheckUtils]: 6: Hoare triple {2005#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {2005#true} is VALID [2022-04-15 10:32:31,274 INFO L290 TraceCheckUtils]: 7: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-15 10:32:31,274 INFO L290 TraceCheckUtils]: 8: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-15 10:32:31,274 INFO L290 TraceCheckUtils]: 9: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-15 10:32:31,274 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2005#true} {2005#true} #61#return; {2005#true} is VALID [2022-04-15 10:32:31,275 INFO L290 TraceCheckUtils]: 11: Hoare triple {2005#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2005#true} is VALID [2022-04-15 10:32:31,275 INFO L272 TraceCheckUtils]: 12: Hoare triple {2005#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {2005#true} is VALID [2022-04-15 10:32:31,275 INFO L290 TraceCheckUtils]: 13: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-15 10:32:31,275 INFO L290 TraceCheckUtils]: 14: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-15 10:32:31,275 INFO L290 TraceCheckUtils]: 15: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-15 10:32:31,275 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2005#true} {2005#true} #63#return; {2005#true} is VALID [2022-04-15 10:32:31,275 INFO L272 TraceCheckUtils]: 17: Hoare triple {2005#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2005#true} is VALID [2022-04-15 10:32:31,275 INFO L290 TraceCheckUtils]: 18: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-15 10:32:31,275 INFO L290 TraceCheckUtils]: 19: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-15 10:32:31,275 INFO L290 TraceCheckUtils]: 20: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-15 10:32:31,275 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2005#true} {2005#true} #65#return; {2005#true} is VALID [2022-04-15 10:32:31,276 INFO L290 TraceCheckUtils]: 22: Hoare triple {2005#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2005#true} is VALID [2022-04-15 10:32:31,276 INFO L290 TraceCheckUtils]: 23: Hoare triple {2005#true} assume !false; {2005#true} is VALID [2022-04-15 10:32:31,276 INFO L272 TraceCheckUtils]: 24: Hoare triple {2005#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2005#true} is VALID [2022-04-15 10:32:31,276 INFO L290 TraceCheckUtils]: 25: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-15 10:32:31,276 INFO L290 TraceCheckUtils]: 26: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-15 10:32:31,276 INFO L290 TraceCheckUtils]: 27: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-15 10:32:31,276 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2005#true} {2005#true} #67#return; {2005#true} is VALID [2022-04-15 10:32:31,276 INFO L290 TraceCheckUtils]: 29: Hoare triple {2005#true} assume !!(0 != ~y~0); {2005#true} is VALID [2022-04-15 10:32:31,276 INFO L290 TraceCheckUtils]: 30: Hoare triple {2005#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; {2005#true} is VALID [2022-04-15 10:32:31,276 INFO L290 TraceCheckUtils]: 31: Hoare triple {2005#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); {2005#true} is VALID [2022-04-15 10:32:31,276 INFO L290 TraceCheckUtils]: 32: Hoare triple {2005#true} assume !false; {2005#true} is VALID [2022-04-15 10:32:31,277 INFO L272 TraceCheckUtils]: 33: Hoare triple {2005#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2005#true} is VALID [2022-04-15 10:32:31,279 INFO L290 TraceCheckUtils]: 34: Hoare triple {2005#true} ~cond := #in~cond; {2112#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:32:31,280 INFO L290 TraceCheckUtils]: 35: Hoare triple {2112#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:32:31,280 INFO L290 TraceCheckUtils]: 36: Hoare triple {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:32:33,282 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} {2005#true} #67#return; {2123#(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-15 10:32:33,283 INFO L290 TraceCheckUtils]: 38: Hoare triple {2123#(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); {2127#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:32:33,284 INFO L272 TraceCheckUtils]: 39: Hoare triple {2127#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2131#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:32:33,284 INFO L290 TraceCheckUtils]: 40: Hoare triple {2131#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2135#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:32:33,284 INFO L290 TraceCheckUtils]: 41: Hoare triple {2135#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2006#false} is VALID [2022-04-15 10:32:33,284 INFO L290 TraceCheckUtils]: 42: Hoare triple {2006#false} assume !false; {2006#false} is VALID [2022-04-15 10:32:33,285 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-15 10:32:33,285 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:32:38,492 INFO L290 TraceCheckUtils]: 42: Hoare triple {2006#false} assume !false; {2006#false} is VALID [2022-04-15 10:32:38,492 INFO L290 TraceCheckUtils]: 41: Hoare triple {2135#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2006#false} is VALID [2022-04-15 10:32:38,492 INFO L290 TraceCheckUtils]: 40: Hoare triple {2131#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2135#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:32:38,493 INFO L272 TraceCheckUtils]: 39: Hoare triple {2127#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2131#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:32:38,493 INFO L290 TraceCheckUtils]: 38: Hoare triple {2154#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} assume !(0 != ~y~0); {2127#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:32:38,494 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} {2005#true} #67#return; {2154#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-15 10:32:38,495 INFO L290 TraceCheckUtils]: 36: Hoare triple {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:32:38,495 INFO L290 TraceCheckUtils]: 35: Hoare triple {2167#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:32:38,495 INFO L290 TraceCheckUtils]: 34: Hoare triple {2005#true} ~cond := #in~cond; {2167#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:32:38,495 INFO L272 TraceCheckUtils]: 33: Hoare triple {2005#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2005#true} is VALID [2022-04-15 10:32:38,496 INFO L290 TraceCheckUtils]: 32: Hoare triple {2005#true} assume !false; {2005#true} is VALID [2022-04-15 10:32:38,496 INFO L290 TraceCheckUtils]: 31: Hoare triple {2005#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); {2005#true} is VALID [2022-04-15 10:32:38,496 INFO L290 TraceCheckUtils]: 30: Hoare triple {2005#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; {2005#true} is VALID [2022-04-15 10:32:38,496 INFO L290 TraceCheckUtils]: 29: Hoare triple {2005#true} assume !!(0 != ~y~0); {2005#true} is VALID [2022-04-15 10:32:38,496 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2005#true} {2005#true} #67#return; {2005#true} is VALID [2022-04-15 10:32:38,496 INFO L290 TraceCheckUtils]: 27: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-15 10:32:38,496 INFO L290 TraceCheckUtils]: 26: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-15 10:32:38,496 INFO L290 TraceCheckUtils]: 25: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-15 10:32:38,496 INFO L272 TraceCheckUtils]: 24: Hoare triple {2005#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2005#true} is VALID [2022-04-15 10:32:38,496 INFO L290 TraceCheckUtils]: 23: Hoare triple {2005#true} assume !false; {2005#true} is VALID [2022-04-15 10:32:38,496 INFO L290 TraceCheckUtils]: 22: Hoare triple {2005#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2005#true} is VALID [2022-04-15 10:32:38,496 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2005#true} {2005#true} #65#return; {2005#true} is VALID [2022-04-15 10:32:38,497 INFO L290 TraceCheckUtils]: 20: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-15 10:32:38,497 INFO L290 TraceCheckUtils]: 19: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-15 10:32:38,497 INFO L290 TraceCheckUtils]: 18: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-15 10:32:38,497 INFO L272 TraceCheckUtils]: 17: Hoare triple {2005#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2005#true} is VALID [2022-04-15 10:32:38,497 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2005#true} {2005#true} #63#return; {2005#true} is VALID [2022-04-15 10:32:38,497 INFO L290 TraceCheckUtils]: 15: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-15 10:32:38,497 INFO L290 TraceCheckUtils]: 14: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-15 10:32:38,497 INFO L290 TraceCheckUtils]: 13: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-15 10:32:38,497 INFO L272 TraceCheckUtils]: 12: Hoare triple {2005#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {2005#true} is VALID [2022-04-15 10:32:38,497 INFO L290 TraceCheckUtils]: 11: Hoare triple {2005#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2005#true} is VALID [2022-04-15 10:32:38,497 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2005#true} {2005#true} #61#return; {2005#true} is VALID [2022-04-15 10:32:38,497 INFO L290 TraceCheckUtils]: 9: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-15 10:32:38,498 INFO L290 TraceCheckUtils]: 8: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-15 10:32:38,498 INFO L290 TraceCheckUtils]: 7: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-15 10:32:38,498 INFO L272 TraceCheckUtils]: 6: Hoare triple {2005#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {2005#true} is VALID [2022-04-15 10:32:38,498 INFO L290 TraceCheckUtils]: 5: Hoare triple {2005#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; {2005#true} is VALID [2022-04-15 10:32:38,498 INFO L272 TraceCheckUtils]: 4: Hoare triple {2005#true} call #t~ret6 := main(); {2005#true} is VALID [2022-04-15 10:32:38,498 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2005#true} {2005#true} #71#return; {2005#true} is VALID [2022-04-15 10:32:38,498 INFO L290 TraceCheckUtils]: 2: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-15 10:32:38,498 INFO L290 TraceCheckUtils]: 1: Hoare triple {2005#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); {2005#true} is VALID [2022-04-15 10:32:38,498 INFO L272 TraceCheckUtils]: 0: Hoare triple {2005#true} call ULTIMATE.init(); {2005#true} is VALID [2022-04-15 10:32:38,498 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-15 10:32:38,499 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:32:38,499 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [771969551] [2022-04-15 10:32:38,499 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:32:38,499 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1143739727] [2022-04-15 10:32:38,499 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1143739727] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:32:38,499 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:32:38,499 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-15 10:32:38,499 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:32:38,499 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [65258244] [2022-04-15 10:32:38,499 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [65258244] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:32:38,499 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:32:38,499 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 10:32:38,500 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1157871035] [2022-04-15 10:32:38,500 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:32:38,500 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-15 10:32:38,500 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:32:38,500 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-15 10:32:40,521 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-15 10:32:40,521 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 10:32:40,521 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:32:40,522 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 10:32:40,522 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-15 10:32:40,522 INFO L87 Difference]: Start difference. First operand 50 states and 55 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-15 10:32:42,562 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-15 10:32:42,705 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:32:42,706 INFO L93 Difference]: Finished difference Result 57 states and 61 transitions. [2022-04-15 10:32:42,706 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 10:32:42,706 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-15 10:32:42,709 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:32:42,709 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-15 10:32:42,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-15 10:32:42,723 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-15 10:32:42,723 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-15 10:32:42,723 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 37 transitions. [2022-04-15 10:32:44,747 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-15 10:32:44,748 INFO L225 Difference]: With dead ends: 57 [2022-04-15 10:32:44,748 INFO L226 Difference]: Without dead ends: 50 [2022-04-15 10:32:44,748 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-15 10:32:44,749 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 13 mSDsluCounter, 78 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 57 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.0s IncrementalHoareTripleChecker+Time [2022-04-15 10:32:44,767 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 103 Invalid, 57 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 55 Invalid, 1 Unknown, 0 Unchecked, 2.0s Time] [2022-04-15 10:32:44,768 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-15 10:32:44,794 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 41. [2022-04-15 10:32:44,794 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:32:44,794 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:32:44,794 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:32:44,794 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:32:44,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:32:44,796 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2022-04-15 10:32:44,797 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-15 10:32:44,797 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:32:44,797 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:32:44,797 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 50 states. [2022-04-15 10:32:44,797 INFO L87 Difference]: Start difference. First operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 50 states. [2022-04-15 10:32:44,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:32:44,802 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2022-04-15 10:32:44,802 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-15 10:32:44,802 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:32:44,802 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:32:44,802 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:32:44,802 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:32:44,802 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 10:32:44,803 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 45 transitions. [2022-04-15 10:32:44,803 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 45 transitions. Word has length 43 [2022-04-15 10:32:44,803 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:32:44,804 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 45 transitions. [2022-04-15 10:32:44,804 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-15 10:32:44,804 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 45 transitions. [2022-04-15 10:32:51,143 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 42 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-15 10:32:51,143 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2022-04-15 10:32:51,144 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 10:32:51,144 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:32:51,144 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:32:51,162 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-15 10:32:51,344 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-15 10:32:51,344 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:32:51,345 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:32:51,345 INFO L85 PathProgramCache]: Analyzing trace with hash 1025268728, now seen corresponding path program 3 times [2022-04-15 10:32:51,345 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:32:51,345 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1800911060] [2022-04-15 10:32:51,345 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:32:51,345 INFO L85 PathProgramCache]: Analyzing trace with hash 1025268728, now seen corresponding path program 4 times [2022-04-15 10:32:51,345 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:32:51,345 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [528634919] [2022-04-15 10:32:51,345 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:32:51,345 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:32:51,364 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:32:51,365 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1610179067] [2022-04-15 10:32:51,365 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 10:32:51,365 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:32:51,365 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:32:51,370 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-15 10:32:51,371 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-15 10:32:51,409 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 10:32:51,409 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:32:51,410 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-15 10:32:51,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:32:51,430 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:32:53,120 INFO L272 TraceCheckUtils]: 0: Hoare triple {2572#true} call ULTIMATE.init(); {2572#true} is VALID [2022-04-15 10:32:53,121 INFO L290 TraceCheckUtils]: 1: Hoare triple {2572#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); {2572#true} is VALID [2022-04-15 10:32:53,121 INFO L290 TraceCheckUtils]: 2: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-15 10:32:53,121 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2572#true} {2572#true} #71#return; {2572#true} is VALID [2022-04-15 10:32:53,121 INFO L272 TraceCheckUtils]: 4: Hoare triple {2572#true} call #t~ret6 := main(); {2572#true} is VALID [2022-04-15 10:32:53,121 INFO L290 TraceCheckUtils]: 5: Hoare triple {2572#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; {2572#true} is VALID [2022-04-15 10:32:53,121 INFO L272 TraceCheckUtils]: 6: Hoare triple {2572#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {2572#true} is VALID [2022-04-15 10:32:53,121 INFO L290 TraceCheckUtils]: 7: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-15 10:32:53,121 INFO L290 TraceCheckUtils]: 8: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-15 10:32:53,121 INFO L290 TraceCheckUtils]: 9: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-15 10:32:53,121 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2572#true} {2572#true} #61#return; {2572#true} is VALID [2022-04-15 10:32:53,122 INFO L290 TraceCheckUtils]: 11: Hoare triple {2572#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2572#true} is VALID [2022-04-15 10:32:53,122 INFO L272 TraceCheckUtils]: 12: Hoare triple {2572#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {2572#true} is VALID [2022-04-15 10:32:53,123 INFO L290 TraceCheckUtils]: 13: Hoare triple {2572#true} ~cond := #in~cond; {2616#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:32:53,123 INFO L290 TraceCheckUtils]: 14: Hoare triple {2616#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2620#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:32:53,123 INFO L290 TraceCheckUtils]: 15: Hoare triple {2620#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2620#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:32:53,124 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2620#(not (= |assume_abort_if_not_#in~cond| 0))} {2572#true} #63#return; {2627#(and (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-15 10:32:53,124 INFO L272 TraceCheckUtils]: 17: Hoare triple {2627#(and (<= 0 main_~b~0) (<= main_~b~0 10))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2572#true} is VALID [2022-04-15 10:32:53,124 INFO L290 TraceCheckUtils]: 18: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-15 10:32:53,124 INFO L290 TraceCheckUtils]: 19: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-15 10:32:53,124 INFO L290 TraceCheckUtils]: 20: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-15 10:32:53,125 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2572#true} {2627#(and (<= 0 main_~b~0) (<= main_~b~0 10))} #65#return; {2627#(and (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-15 10:32:53,125 INFO L290 TraceCheckUtils]: 22: Hoare triple {2627#(and (<= 0 main_~b~0) (<= main_~b~0 10))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:32:53,125 INFO L290 TraceCheckUtils]: 23: Hoare triple {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} assume !false; {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:32:53,126 INFO L272 TraceCheckUtils]: 24: Hoare triple {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2572#true} is VALID [2022-04-15 10:32:53,126 INFO L290 TraceCheckUtils]: 25: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-15 10:32:53,126 INFO L290 TraceCheckUtils]: 26: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-15 10:32:53,126 INFO L290 TraceCheckUtils]: 27: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-15 10:32:53,126 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2572#true} {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} #67#return; {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:32:53,127 INFO L290 TraceCheckUtils]: 29: Hoare triple {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {2668#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:32:53,128 INFO L290 TraceCheckUtils]: 30: Hoare triple {2668#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= 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; {2672#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-15 10:32:53,129 INFO L290 TraceCheckUtils]: 31: Hoare triple {2672#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (<= main_~b~0 10) (= 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); {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:32:53,129 INFO L290 TraceCheckUtils]: 32: Hoare triple {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:32:53,129 INFO L272 TraceCheckUtils]: 33: Hoare triple {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (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)); {2572#true} is VALID [2022-04-15 10:32:53,130 INFO L290 TraceCheckUtils]: 34: Hoare triple {2572#true} ~cond := #in~cond; {2686#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:32:53,132 INFO L290 TraceCheckUtils]: 35: Hoare triple {2686#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:32:53,133 INFO L290 TraceCheckUtils]: 36: Hoare triple {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:32:53,134 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #67#return; {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:32:53,140 INFO L290 TraceCheckUtils]: 38: Hoare triple {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(0 != ~y~0); {2700#(and (not (= main_~y~0 0)) (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 10:32:53,142 INFO L290 TraceCheckUtils]: 39: Hoare triple {2700#(and (not (= main_~y~0 0)) (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~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; {2704#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~a~0 main_~x~0) main_~z~0) (= (* main_~a~0 2) main_~x~0) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-15 10:32:53,144 INFO L290 TraceCheckUtils]: 40: Hoare triple {2704#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~a~0 main_~x~0) main_~z~0) (= (* main_~a~0 2) main_~x~0) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~b~0 10))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2708#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-15 10:32:53,144 INFO L290 TraceCheckUtils]: 41: Hoare triple {2708#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~b~0 10))} assume !false; {2708#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-15 10:32:53,157 INFO L272 TraceCheckUtils]: 42: Hoare triple {2708#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~b~0 10))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2715#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:32:53,158 INFO L290 TraceCheckUtils]: 43: Hoare triple {2715#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2719#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:32:53,158 INFO L290 TraceCheckUtils]: 44: Hoare triple {2719#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2573#false} is VALID [2022-04-15 10:32:53,158 INFO L290 TraceCheckUtils]: 45: Hoare triple {2573#false} assume !false; {2573#false} is VALID [2022-04-15 10:32:53,158 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-15 10:32:53,158 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:33:45,686 INFO L290 TraceCheckUtils]: 45: Hoare triple {2573#false} assume !false; {2573#false} is VALID [2022-04-15 10:33:45,687 INFO L290 TraceCheckUtils]: 44: Hoare triple {2719#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2573#false} is VALID [2022-04-15 10:33:45,687 INFO L290 TraceCheckUtils]: 43: Hoare triple {2715#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2719#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:33:45,688 INFO L272 TraceCheckUtils]: 42: Hoare triple {2735#(= (+ 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)); {2715#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:33:45,688 INFO L290 TraceCheckUtils]: 41: Hoare triple {2735#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {2735#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:33:45,692 INFO L290 TraceCheckUtils]: 40: Hoare triple {2742#(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); {2735#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:33:45,695 INFO L290 TraceCheckUtils]: 39: Hoare triple {2746#(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; {2742#(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-15 10:33:45,695 INFO L290 TraceCheckUtils]: 38: Hoare triple {2746#(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); {2746#(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-15 10:33:47,697 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} {2572#true} #67#return; {2746#(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 UNKNOWN [2022-04-15 10:33:47,698 INFO L290 TraceCheckUtils]: 36: Hoare triple {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:33:47,698 INFO L290 TraceCheckUtils]: 35: Hoare triple {2762#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:33:47,698 INFO L290 TraceCheckUtils]: 34: Hoare triple {2572#true} ~cond := #in~cond; {2762#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:33:47,698 INFO L272 TraceCheckUtils]: 33: Hoare triple {2572#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2572#true} is VALID [2022-04-15 10:33:47,699 INFO L290 TraceCheckUtils]: 32: Hoare triple {2572#true} assume !false; {2572#true} is VALID [2022-04-15 10:33:47,699 INFO L290 TraceCheckUtils]: 31: Hoare triple {2572#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); {2572#true} is VALID [2022-04-15 10:33:47,699 INFO L290 TraceCheckUtils]: 30: Hoare triple {2572#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; {2572#true} is VALID [2022-04-15 10:33:47,699 INFO L290 TraceCheckUtils]: 29: Hoare triple {2572#true} assume !!(0 != ~y~0); {2572#true} is VALID [2022-04-15 10:33:47,699 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2572#true} {2572#true} #67#return; {2572#true} is VALID [2022-04-15 10:33:47,699 INFO L290 TraceCheckUtils]: 27: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-15 10:33:47,699 INFO L290 TraceCheckUtils]: 26: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-15 10:33:47,699 INFO L290 TraceCheckUtils]: 25: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-15 10:33:47,699 INFO L272 TraceCheckUtils]: 24: Hoare triple {2572#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2572#true} is VALID [2022-04-15 10:33:47,699 INFO L290 TraceCheckUtils]: 23: Hoare triple {2572#true} assume !false; {2572#true} is VALID [2022-04-15 10:33:47,699 INFO L290 TraceCheckUtils]: 22: Hoare triple {2572#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2572#true} is VALID [2022-04-15 10:33:47,699 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2572#true} {2572#true} #65#return; {2572#true} is VALID [2022-04-15 10:33:47,699 INFO L290 TraceCheckUtils]: 20: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-15 10:33:47,700 INFO L290 TraceCheckUtils]: 19: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-15 10:33:47,700 INFO L290 TraceCheckUtils]: 18: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-15 10:33:47,700 INFO L272 TraceCheckUtils]: 17: Hoare triple {2572#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2572#true} is VALID [2022-04-15 10:33:47,700 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2572#true} {2572#true} #63#return; {2572#true} is VALID [2022-04-15 10:33:47,700 INFO L290 TraceCheckUtils]: 15: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-15 10:33:47,700 INFO L290 TraceCheckUtils]: 14: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-15 10:33:47,700 INFO L290 TraceCheckUtils]: 13: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-15 10:33:47,700 INFO L272 TraceCheckUtils]: 12: Hoare triple {2572#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {2572#true} is VALID [2022-04-15 10:33:47,700 INFO L290 TraceCheckUtils]: 11: Hoare triple {2572#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2572#true} is VALID [2022-04-15 10:33:47,700 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2572#true} {2572#true} #61#return; {2572#true} is VALID [2022-04-15 10:33:47,700 INFO L290 TraceCheckUtils]: 9: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-15 10:33:47,700 INFO L290 TraceCheckUtils]: 8: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-15 10:33:47,700 INFO L290 TraceCheckUtils]: 7: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-15 10:33:47,700 INFO L272 TraceCheckUtils]: 6: Hoare triple {2572#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {2572#true} is VALID [2022-04-15 10:33:47,701 INFO L290 TraceCheckUtils]: 5: Hoare triple {2572#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; {2572#true} is VALID [2022-04-15 10:33:47,701 INFO L272 TraceCheckUtils]: 4: Hoare triple {2572#true} call #t~ret6 := main(); {2572#true} is VALID [2022-04-15 10:33:47,701 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2572#true} {2572#true} #71#return; {2572#true} is VALID [2022-04-15 10:33:47,701 INFO L290 TraceCheckUtils]: 2: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-15 10:33:47,701 INFO L290 TraceCheckUtils]: 1: Hoare triple {2572#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); {2572#true} is VALID [2022-04-15 10:33:47,701 INFO L272 TraceCheckUtils]: 0: Hoare triple {2572#true} call ULTIMATE.init(); {2572#true} is VALID [2022-04-15 10:33:47,701 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-15 10:33:47,701 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:33:47,701 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [528634919] [2022-04-15 10:33:47,701 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:33:47,701 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1610179067] [2022-04-15 10:33:47,702 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1610179067] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:33:47,702 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:33:47,702 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 9] total 20 [2022-04-15 10:33:47,702 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:33:47,702 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1800911060] [2022-04-15 10:33:47,702 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1800911060] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:33:47,702 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:33:47,702 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 10:33:47,702 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [858777507] [2022-04-15 10:33:47,702 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:33:47,703 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 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-15 10:33:47,703 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:33:47,703 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 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-15 10:33:47,744 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-15 10:33:47,744 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 10:33:47,744 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:33:47,744 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 10:33:47,745 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=313, Unknown=0, NotChecked=0, Total=380 [2022-04-15 10:33:47,745 INFO L87 Difference]: Start difference. First operand 41 states and 45 transitions. Second operand has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 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-15 10:33:49,051 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:33:49,051 INFO L93 Difference]: Finished difference Result 63 states and 69 transitions. [2022-04-15 10:33:49,051 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 10:33:49,051 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 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-15 10:33:49,052 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:33:49,052 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 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-15 10:33:49,053 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 57 transitions. [2022-04-15 10:33:49,053 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 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-15 10:33:49,054 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 57 transitions. [2022-04-15 10:33:49,054 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 57 transitions. [2022-04-15 10:33:49,114 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:33:49,117 INFO L225 Difference]: With dead ends: 63 [2022-04-15 10:33:49,117 INFO L226 Difference]: Without dead ends: 61 [2022-04-15 10:33:49,119 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 70 SyntacticMatches, 3 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 115 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=84, Invalid=422, Unknown=0, NotChecked=0, Total=506 [2022-04-15 10:33:49,120 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 29 mSDsluCounter, 150 mSDsCounter, 0 mSdLazyCounter, 376 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 389 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 376 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-15 10:33:49,120 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 170 Invalid, 389 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 376 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-15 10:33:49,121 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-04-15 10:33:49,173 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 50. [2022-04-15 10:33:49,173 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:33:49,173 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:33:49,174 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:33:49,174 INFO L87 Difference]: Start difference. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:33:49,175 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:33:49,175 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-15 10:33:49,175 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-15 10:33:49,176 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:33:49,176 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:33:49,176 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-15 10:33:49,176 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-15 10:33:49,177 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:33:49,177 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-15 10:33:49,177 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-15 10:33:49,177 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:33:49,178 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:33:49,178 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:33:49,178 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:33:49,178 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:33:49,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-15 10:33:49,179 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 46 [2022-04-15 10:33:49,179 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:33:49,179 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-15 10:33:49,179 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 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-15 10:33:49,179 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-15 10:33:55,784 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 52 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-15 10:33:55,784 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-15 10:33:55,785 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 10:33:55,785 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:33:55,785 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-15 10:33:55,803 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-15 10:33:55,985 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-15 10:33:55,986 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:33:55,986 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:33:55,986 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 1 times [2022-04-15 10:33:55,986 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:33:55,986 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [278907468] [2022-04-15 10:33:55,986 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:33:55,987 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 2 times [2022-04-15 10:33:55,987 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:33:55,987 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1392368108] [2022-04-15 10:33:55,987 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:33:55,987 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:33:55,999 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:33:55,999 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1300603417] [2022-04-15 10:33:55,999 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 10:33:55,999 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:33:55,999 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:33:56,022 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-15 10:33:56,022 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-15 10:33:56,059 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 10:33:56,059 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:33:56,060 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-15 10:33:56,071 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:33:56,072 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:34:05,827 INFO L272 TraceCheckUtils]: 0: Hoare triple {3221#true} call ULTIMATE.init(); {3221#true} is VALID [2022-04-15 10:34:05,827 INFO L290 TraceCheckUtils]: 1: Hoare triple {3221#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); {3221#true} is VALID [2022-04-15 10:34:05,827 INFO L290 TraceCheckUtils]: 2: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-15 10:34:05,827 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3221#true} {3221#true} #71#return; {3221#true} is VALID [2022-04-15 10:34:05,827 INFO L272 TraceCheckUtils]: 4: Hoare triple {3221#true} call #t~ret6 := main(); {3221#true} is VALID [2022-04-15 10:34:05,827 INFO L290 TraceCheckUtils]: 5: Hoare triple {3221#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; {3221#true} is VALID [2022-04-15 10:34:05,827 INFO L272 TraceCheckUtils]: 6: Hoare triple {3221#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {3221#true} is VALID [2022-04-15 10:34:05,827 INFO L290 TraceCheckUtils]: 7: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-15 10:34:05,828 INFO L290 TraceCheckUtils]: 8: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-15 10:34:05,828 INFO L290 TraceCheckUtils]: 9: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-15 10:34:05,828 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3221#true} {3221#true} #61#return; {3221#true} is VALID [2022-04-15 10:34:05,828 INFO L290 TraceCheckUtils]: 11: Hoare triple {3221#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3221#true} is VALID [2022-04-15 10:34:05,828 INFO L272 TraceCheckUtils]: 12: Hoare triple {3221#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {3221#true} is VALID [2022-04-15 10:34:05,828 INFO L290 TraceCheckUtils]: 13: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-15 10:34:05,828 INFO L290 TraceCheckUtils]: 14: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-15 10:34:05,828 INFO L290 TraceCheckUtils]: 15: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-15 10:34:05,828 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3221#true} {3221#true} #63#return; {3221#true} is VALID [2022-04-15 10:34:05,828 INFO L272 TraceCheckUtils]: 17: Hoare triple {3221#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3221#true} is VALID [2022-04-15 10:34:05,828 INFO L290 TraceCheckUtils]: 18: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-15 10:34:05,828 INFO L290 TraceCheckUtils]: 19: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-15 10:34:05,828 INFO L290 TraceCheckUtils]: 20: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-15 10:34:05,829 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3221#true} {3221#true} #65#return; {3221#true} is VALID [2022-04-15 10:34:05,829 INFO L290 TraceCheckUtils]: 22: Hoare triple {3221#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3292#(= main_~b~0 main_~y~0)} is VALID [2022-04-15 10:34:05,833 INFO L290 TraceCheckUtils]: 23: Hoare triple {3292#(= main_~b~0 main_~y~0)} assume !false; {3292#(= main_~b~0 main_~y~0)} is VALID [2022-04-15 10:34:05,833 INFO L272 TraceCheckUtils]: 24: Hoare triple {3292#(= main_~b~0 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3221#true} is VALID [2022-04-15 10:34:05,834 INFO L290 TraceCheckUtils]: 25: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-15 10:34:05,834 INFO L290 TraceCheckUtils]: 26: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-15 10:34:05,834 INFO L290 TraceCheckUtils]: 27: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-15 10:34:05,834 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3221#true} {3292#(= main_~b~0 main_~y~0)} #67#return; {3292#(= main_~b~0 main_~y~0)} is VALID [2022-04-15 10:34:05,835 INFO L290 TraceCheckUtils]: 29: Hoare triple {3292#(= main_~b~0 main_~y~0)} assume !!(0 != ~y~0); {3314#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0))} is VALID [2022-04-15 10:34:05,835 INFO L290 TraceCheckUtils]: 30: Hoare triple {3314#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~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; {3318#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} is VALID [2022-04-15 10:34:05,836 INFO L290 TraceCheckUtils]: 31: Hoare triple {3318#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~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); {3322#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 10:34:05,837 INFO L290 TraceCheckUtils]: 32: Hoare triple {3322#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} assume !false; {3322#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 10:34:05,837 INFO L272 TraceCheckUtils]: 33: Hoare triple {3322#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3221#true} is VALID [2022-04-15 10:34:05,837 INFO L290 TraceCheckUtils]: 34: Hoare triple {3221#true} ~cond := #in~cond; {3332#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:34:05,837 INFO L290 TraceCheckUtils]: 35: Hoare triple {3332#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:34:05,837 INFO L290 TraceCheckUtils]: 36: Hoare triple {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:34:05,839 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} {3322#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} #67#return; {3343#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 10:34:05,839 INFO L290 TraceCheckUtils]: 38: Hoare triple {3343#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} assume !!(0 != ~y~0); {3343#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 10:34:05,841 INFO L290 TraceCheckUtils]: 39: Hoare triple {3343#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3350#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 10:34:06,588 INFO L290 TraceCheckUtils]: 40: Hoare triple {3350#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 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); {3354#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (mod (div (- main_~x~0) (- 2)) 2) 0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 10:34:06,589 INFO L290 TraceCheckUtils]: 41: Hoare triple {3354#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (mod (div (- main_~x~0) (- 2)) 2) 0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} assume !false; {3354#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (mod (div (- main_~x~0) (- 2)) 2) 0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 10:34:08,381 INFO L272 TraceCheckUtils]: 42: Hoare triple {3354#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (mod (div (- main_~x~0) (- 2)) 2) 0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3361#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:34:08,382 INFO L290 TraceCheckUtils]: 43: Hoare triple {3361#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3365#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:34:08,382 INFO L290 TraceCheckUtils]: 44: Hoare triple {3365#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3222#false} is VALID [2022-04-15 10:34:08,382 INFO L290 TraceCheckUtils]: 45: Hoare triple {3222#false} assume !false; {3222#false} is VALID [2022-04-15 10:34:08,382 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 10:34:08,383 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:34:44,995 INFO L290 TraceCheckUtils]: 45: Hoare triple {3222#false} assume !false; {3222#false} is VALID [2022-04-15 10:34:44,996 INFO L290 TraceCheckUtils]: 44: Hoare triple {3365#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3222#false} is VALID [2022-04-15 10:34:44,997 INFO L290 TraceCheckUtils]: 43: Hoare triple {3361#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3365#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:34:44,997 INFO L272 TraceCheckUtils]: 42: Hoare triple {3381#(= (+ 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)); {3361#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:34:44,998 INFO L290 TraceCheckUtils]: 41: Hoare triple {3381#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {3381#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:34:45,004 INFO L290 TraceCheckUtils]: 40: Hoare triple {3388#(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); {3381#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:34:45,005 INFO L290 TraceCheckUtils]: 39: Hoare triple {3392#(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)); {3388#(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-15 10:34:45,006 INFO L290 TraceCheckUtils]: 38: Hoare triple {3392#(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); {3392#(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-15 10:34:45,009 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} {3399#(or (<= 0 main_~y~0) (= (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0))) (* main_~y~0 main_~x~0)) (= (mod main_~y~0 2) 0))} #67#return; {3392#(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-15 10:34:45,010 INFO L290 TraceCheckUtils]: 36: Hoare triple {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:34:45,010 INFO L290 TraceCheckUtils]: 35: Hoare triple {3409#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:34:45,011 INFO L290 TraceCheckUtils]: 34: Hoare triple {3221#true} ~cond := #in~cond; {3409#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:34:45,011 INFO L272 TraceCheckUtils]: 33: Hoare triple {3399#(or (<= 0 main_~y~0) (= (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0))) (* main_~y~0 main_~x~0)) (= (mod main_~y~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3221#true} is VALID [2022-04-15 10:34:45,011 INFO L290 TraceCheckUtils]: 32: Hoare triple {3399#(or (<= 0 main_~y~0) (= (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0))) (* main_~y~0 main_~x~0)) (= (mod main_~y~0 2) 0))} assume !false; {3399#(or (<= 0 main_~y~0) (= (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0))) (* main_~y~0 main_~x~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-15 10:34:45,019 INFO L290 TraceCheckUtils]: 31: Hoare triple {3419#(and (or (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0) (forall ((main_~x~0 Int) (aux_div_v_main_~y~0_39_22 Int)) (or (= (* 2 (* (div main_~y~0 2) main_~x~0)) (+ (* main_~x~0 2) (* (* aux_div_v_main_~y~0_39_22 main_~x~0) 4))) (<= (+ (* aux_div_v_main_~y~0_39_22 2) 1) (div main_~y~0 2)) (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_39_22 2)))) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (<= (div (+ (- 1) (div main_~y~0 2)) 2) (div (+ (- 2) (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); {3399#(or (<= 0 main_~y~0) (= (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0))) (* main_~y~0 main_~x~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-15 10:34:45,021 INFO L290 TraceCheckUtils]: 30: Hoare triple {3221#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; {3419#(and (or (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0) (forall ((main_~x~0 Int) (aux_div_v_main_~y~0_39_22 Int)) (or (= (* 2 (* (div main_~y~0 2) main_~x~0)) (+ (* main_~x~0 2) (* (* aux_div_v_main_~y~0_39_22 main_~x~0) 4))) (<= (+ (* aux_div_v_main_~y~0_39_22 2) 1) (div main_~y~0 2)) (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_39_22 2)))) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (<= (div (+ (- 1) (div main_~y~0 2)) 2) (div (+ (- 2) (div main_~y~0 2)) 2))))} is VALID [2022-04-15 10:34:45,021 INFO L290 TraceCheckUtils]: 29: Hoare triple {3221#true} assume !!(0 != ~y~0); {3221#true} is VALID [2022-04-15 10:34:45,021 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3221#true} {3221#true} #67#return; {3221#true} is VALID [2022-04-15 10:34:45,021 INFO L290 TraceCheckUtils]: 27: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-15 10:34:45,022 INFO L290 TraceCheckUtils]: 26: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-15 10:34:45,022 INFO L290 TraceCheckUtils]: 25: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-15 10:34:45,022 INFO L272 TraceCheckUtils]: 24: Hoare triple {3221#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3221#true} is VALID [2022-04-15 10:34:45,022 INFO L290 TraceCheckUtils]: 23: Hoare triple {3221#true} assume !false; {3221#true} is VALID [2022-04-15 10:34:45,022 INFO L290 TraceCheckUtils]: 22: Hoare triple {3221#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3221#true} is VALID [2022-04-15 10:34:45,022 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3221#true} {3221#true} #65#return; {3221#true} is VALID [2022-04-15 10:34:45,022 INFO L290 TraceCheckUtils]: 20: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-15 10:34:45,022 INFO L290 TraceCheckUtils]: 19: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-15 10:34:45,022 INFO L290 TraceCheckUtils]: 18: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-15 10:34:45,022 INFO L272 TraceCheckUtils]: 17: Hoare triple {3221#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3221#true} is VALID [2022-04-15 10:34:45,022 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3221#true} {3221#true} #63#return; {3221#true} is VALID [2022-04-15 10:34:45,022 INFO L290 TraceCheckUtils]: 15: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-15 10:34:45,023 INFO L290 TraceCheckUtils]: 14: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-15 10:34:45,023 INFO L290 TraceCheckUtils]: 13: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-15 10:34:45,023 INFO L272 TraceCheckUtils]: 12: Hoare triple {3221#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {3221#true} is VALID [2022-04-15 10:34:45,023 INFO L290 TraceCheckUtils]: 11: Hoare triple {3221#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3221#true} is VALID [2022-04-15 10:34:45,023 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3221#true} {3221#true} #61#return; {3221#true} is VALID [2022-04-15 10:34:45,023 INFO L290 TraceCheckUtils]: 9: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-15 10:34:45,023 INFO L290 TraceCheckUtils]: 8: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-15 10:34:45,023 INFO L290 TraceCheckUtils]: 7: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-15 10:34:45,023 INFO L272 TraceCheckUtils]: 6: Hoare triple {3221#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {3221#true} is VALID [2022-04-15 10:34:45,023 INFO L290 TraceCheckUtils]: 5: Hoare triple {3221#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; {3221#true} is VALID [2022-04-15 10:34:45,023 INFO L272 TraceCheckUtils]: 4: Hoare triple {3221#true} call #t~ret6 := main(); {3221#true} is VALID [2022-04-15 10:34:45,023 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3221#true} {3221#true} #71#return; {3221#true} is VALID [2022-04-15 10:34:45,024 INFO L290 TraceCheckUtils]: 2: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-15 10:34:45,024 INFO L290 TraceCheckUtils]: 1: Hoare triple {3221#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); {3221#true} is VALID [2022-04-15 10:34:45,024 INFO L272 TraceCheckUtils]: 0: Hoare triple {3221#true} call ULTIMATE.init(); {3221#true} is VALID [2022-04-15 10:34:45,024 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 12 proven. 4 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 10:34:45,024 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:34:45,024 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1392368108] [2022-04-15 10:34:45,024 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:34:45,024 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1300603417] [2022-04-15 10:34:45,024 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1300603417] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:34:45,024 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:34:45,024 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11] total 19 [2022-04-15 10:34:45,025 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:34:45,025 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [278907468] [2022-04-15 10:34:45,025 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [278907468] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:34:45,025 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:34:45,025 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 10:34:45,025 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [905784701] [2022-04-15 10:34:45,025 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:34:45,025 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 10:34:45,026 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:34:45,026 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:34:46,524 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-15 10:34:46,525 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 10:34:46,525 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:34:46,525 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 10:34:46,525 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=281, Unknown=0, NotChecked=0, Total=342 [2022-04-15 10:34:46,525 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:34:54,026 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.39s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:34:57,485 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.45s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:35:01,659 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.99s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:35:05,233 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.57s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:35:07,235 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-15 10:35:07,512 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:35:07,512 INFO L93 Difference]: Finished difference Result 63 states and 69 transitions. [2022-04-15 10:35:07,513 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 10:35:07,513 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 10:35:07,513 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:35:07,513 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:35:07,514 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-15 10:35:07,514 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:35:07,515 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-15 10:35:07,515 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-15 10:35:09,831 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 55 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 10:35:09,832 INFO L225 Difference]: With dead ends: 63 [2022-04-15 10:35:09,832 INFO L226 Difference]: Without dead ends: 61 [2022-04-15 10:35:09,832 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 73 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 65 ImplicationChecksByTransitivity, 7.8s TimeCoverageRelationStatistics Valid=74, Invalid=346, Unknown=0, NotChecked=0, Total=420 [2022-04-15 10:35:09,832 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 18 mSDsluCounter, 139 mSDsCounter, 0 mSdLazyCounter, 195 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 10.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 166 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 195 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 10.1s IncrementalHoareTripleChecker+Time [2022-04-15 10:35:09,833 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 166 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 195 Invalid, 1 Unknown, 0 Unchecked, 10.1s Time] [2022-04-15 10:35:09,833 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-04-15 10:35:09,882 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 50. [2022-04-15 10:35:09,882 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:35:09,882 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:35:09,882 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:35:09,882 INFO L87 Difference]: Start difference. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:35:09,883 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:35:09,884 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-15 10:35:09,884 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-15 10:35:09,884 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:35:09,884 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:35:09,884 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-15 10:35:09,884 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-15 10:35:09,885 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:35:09,886 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-15 10:35:09,886 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-15 10:35:09,886 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:35:09,886 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:35:09,886 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:35:09,886 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:35:09,886 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:35:09,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-15 10:35:09,887 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 46 [2022-04-15 10:35:09,888 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:35:09,888 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-15 10:35:09,888 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 10:35:09,889 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-15 10:35:17,908 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 52 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-15 10:35:17,908 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-15 10:35:17,908 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 10:35:17,908 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:35:17,909 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-15 10:35:17,930 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-15 10:35:18,109 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-15 10:35:18,109 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:35:18,110 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:35:18,110 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 3 times [2022-04-15 10:35:18,110 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:35:18,110 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [359046636] [2022-04-15 10:35:18,110 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:35:18,110 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 4 times [2022-04-15 10:35:18,110 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:35:18,110 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1888818755] [2022-04-15 10:35:18,110 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:35:18,110 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:35:18,121 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:35:18,121 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [998437352] [2022-04-15 10:35:18,121 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 10:35:18,121 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:35:18,122 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:35:18,122 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 10:35:18,123 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-15 10:35:18,173 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 10:35:18,174 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:35:18,174 INFO L263 TraceCheckSpWp]: Trace formula consists of 96 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-15 10:35:18,188 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:35:18,189 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:35:20,434 INFO L272 TraceCheckUtils]: 0: Hoare triple {3867#true} call ULTIMATE.init(); {3867#true} is VALID [2022-04-15 10:35:20,434 INFO L290 TraceCheckUtils]: 1: Hoare triple {3867#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); {3867#true} is VALID [2022-04-15 10:35:20,434 INFO L290 TraceCheckUtils]: 2: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-15 10:35:20,434 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3867#true} {3867#true} #71#return; {3867#true} is VALID [2022-04-15 10:35:20,434 INFO L272 TraceCheckUtils]: 4: Hoare triple {3867#true} call #t~ret6 := main(); {3867#true} is VALID [2022-04-15 10:35:20,434 INFO L290 TraceCheckUtils]: 5: Hoare triple {3867#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; {3867#true} is VALID [2022-04-15 10:35:20,435 INFO L272 TraceCheckUtils]: 6: Hoare triple {3867#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {3867#true} is VALID [2022-04-15 10:35:20,435 INFO L290 TraceCheckUtils]: 7: Hoare triple {3867#true} ~cond := #in~cond; {3893#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:35:20,435 INFO L290 TraceCheckUtils]: 8: Hoare triple {3893#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3897#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:35:20,435 INFO L290 TraceCheckUtils]: 9: Hoare triple {3897#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3897#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:35:20,436 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3897#(not (= |assume_abort_if_not_#in~cond| 0))} {3867#true} #61#return; {3904#(and (<= 0 main_~a~0) (<= main_~a~0 10))} is VALID [2022-04-15 10:35:20,436 INFO L290 TraceCheckUtils]: 11: Hoare triple {3904#(and (<= 0 main_~a~0) (<= main_~a~0 10))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3904#(and (<= 0 main_~a~0) (<= main_~a~0 10))} is VALID [2022-04-15 10:35:20,436 INFO L272 TraceCheckUtils]: 12: Hoare triple {3904#(and (<= 0 main_~a~0) (<= main_~a~0 10))} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {3867#true} is VALID [2022-04-15 10:35:20,437 INFO L290 TraceCheckUtils]: 13: Hoare triple {3867#true} ~cond := #in~cond; {3893#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:35:20,437 INFO L290 TraceCheckUtils]: 14: Hoare triple {3893#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3897#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:35:20,437 INFO L290 TraceCheckUtils]: 15: Hoare triple {3897#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3897#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:35:20,438 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3897#(not (= |assume_abort_if_not_#in~cond| 0))} {3904#(and (<= 0 main_~a~0) (<= main_~a~0 10))} #63#return; {3923#(and (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} is VALID [2022-04-15 10:35:20,438 INFO L272 TraceCheckUtils]: 17: Hoare triple {3923#(and (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3867#true} is VALID [2022-04-15 10:35:20,438 INFO L290 TraceCheckUtils]: 18: Hoare triple {3867#true} ~cond := #in~cond; {3867#true} is VALID [2022-04-15 10:35:20,438 INFO L290 TraceCheckUtils]: 19: Hoare triple {3867#true} assume !(0 == ~cond); {3867#true} is VALID [2022-04-15 10:35:20,438 INFO L290 TraceCheckUtils]: 20: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-15 10:35:20,439 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3867#true} {3923#(and (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} #65#return; {3923#(and (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} is VALID [2022-04-15 10:35:20,439 INFO L290 TraceCheckUtils]: 22: Hoare triple {3923#(and (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} is VALID [2022-04-15 10:35:20,439 INFO L290 TraceCheckUtils]: 23: Hoare triple {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} assume !false; {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} is VALID [2022-04-15 10:35:20,440 INFO L272 TraceCheckUtils]: 24: Hoare triple {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3867#true} is VALID [2022-04-15 10:35:20,440 INFO L290 TraceCheckUtils]: 25: Hoare triple {3867#true} ~cond := #in~cond; {3952#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:35:20,440 INFO L290 TraceCheckUtils]: 26: Hoare triple {3952#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:35:20,440 INFO L290 TraceCheckUtils]: 27: Hoare triple {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:35:20,441 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} #67#return; {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} is VALID [2022-04-15 10:35:20,441 INFO L290 TraceCheckUtils]: 29: Hoare triple {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} assume !!(0 != ~y~0); {3966#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} is VALID [2022-04-15 10:35:20,442 INFO L290 TraceCheckUtils]: 30: Hoare triple {3966#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3970#(and (= main_~z~0 0) (not (= main_~y~0 0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} is VALID [2022-04-15 10:35:20,442 INFO L290 TraceCheckUtils]: 31: Hoare triple {3970#(and (= main_~z~0 0) (not (= main_~y~0 0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} is VALID [2022-04-15 10:35:20,443 INFO L290 TraceCheckUtils]: 32: Hoare triple {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} assume !false; {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} is VALID [2022-04-15 10:35:20,443 INFO L272 TraceCheckUtils]: 33: Hoare triple {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3867#true} is VALID [2022-04-15 10:35:20,443 INFO L290 TraceCheckUtils]: 34: Hoare triple {3867#true} ~cond := #in~cond; {3952#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:35:20,444 INFO L290 TraceCheckUtils]: 35: Hoare triple {3952#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:35:20,444 INFO L290 TraceCheckUtils]: 36: Hoare triple {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:35:20,444 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} #67#return; {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} is VALID [2022-04-15 10:35:20,445 INFO L290 TraceCheckUtils]: 38: Hoare triple {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} assume !!(0 != ~y~0); {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} is VALID [2022-04-15 10:35:20,446 INFO L290 TraceCheckUtils]: 39: Hoare triple {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} 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; {3999#(and (= main_~z~0 main_~x~0) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= main_~b~0 10) (<= main_~a~0 10) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-15 10:35:20,447 INFO L290 TraceCheckUtils]: 40: Hoare triple {3999#(and (= main_~z~0 main_~x~0) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= main_~b~0 10) (<= main_~a~0 10) (<= 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); {4003#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (<= 0 main_~a~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= main_~b~0 10) (<= main_~a~0 10) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-15 10:35:20,448 INFO L290 TraceCheckUtils]: 41: Hoare triple {4003#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (<= 0 main_~a~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= main_~b~0 10) (<= main_~a~0 10) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} assume !false; {4003#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (<= 0 main_~a~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= main_~b~0 10) (<= main_~a~0 10) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-15 10:35:20,452 INFO L272 TraceCheckUtils]: 42: Hoare triple {4003#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (<= 0 main_~a~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= main_~b~0 10) (<= main_~a~0 10) (<= 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)); {4010#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:35:20,452 INFO L290 TraceCheckUtils]: 43: Hoare triple {4010#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4014#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:35:20,453 INFO L290 TraceCheckUtils]: 44: Hoare triple {4014#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3868#false} is VALID [2022-04-15 10:35:20,453 INFO L290 TraceCheckUtils]: 45: Hoare triple {3868#false} assume !false; {3868#false} is VALID [2022-04-15 10:35:20,453 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 2 proven. 17 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-15 10:35:20,453 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:36:08,172 INFO L290 TraceCheckUtils]: 45: Hoare triple {3868#false} assume !false; {3868#false} is VALID [2022-04-15 10:36:08,173 INFO L290 TraceCheckUtils]: 44: Hoare triple {4014#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3868#false} is VALID [2022-04-15 10:36:08,173 INFO L290 TraceCheckUtils]: 43: Hoare triple {4010#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4014#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:36:08,174 INFO L272 TraceCheckUtils]: 42: Hoare triple {4030#(= (+ 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)); {4010#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:36:08,174 INFO L290 TraceCheckUtils]: 41: Hoare triple {4030#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4030#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:36:08,184 INFO L290 TraceCheckUtils]: 40: Hoare triple {4037#(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); {4030#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:36:08,186 INFO L290 TraceCheckUtils]: 39: Hoare triple {4041#(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; {4037#(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-15 10:36:08,187 INFO L290 TraceCheckUtils]: 38: Hoare triple {4041#(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); {4041#(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-15 10:36:08,356 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} {3867#true} #67#return; {4041#(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-15 10:36:08,357 INFO L290 TraceCheckUtils]: 36: Hoare triple {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:36:08,357 INFO L290 TraceCheckUtils]: 35: Hoare triple {4057#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:36:08,357 INFO L290 TraceCheckUtils]: 34: Hoare triple {3867#true} ~cond := #in~cond; {4057#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:36:08,358 INFO L272 TraceCheckUtils]: 33: Hoare triple {3867#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3867#true} is VALID [2022-04-15 10:36:08,358 INFO L290 TraceCheckUtils]: 32: Hoare triple {3867#true} assume !false; {3867#true} is VALID [2022-04-15 10:36:08,358 INFO L290 TraceCheckUtils]: 31: Hoare triple {3867#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); {3867#true} is VALID [2022-04-15 10:36:08,358 INFO L290 TraceCheckUtils]: 30: Hoare triple {3867#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3867#true} is VALID [2022-04-15 10:36:08,358 INFO L290 TraceCheckUtils]: 29: Hoare triple {3867#true} assume !!(0 != ~y~0); {3867#true} is VALID [2022-04-15 10:36:08,358 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3867#true} {3867#true} #67#return; {3867#true} is VALID [2022-04-15 10:36:08,358 INFO L290 TraceCheckUtils]: 27: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-15 10:36:08,358 INFO L290 TraceCheckUtils]: 26: Hoare triple {3867#true} assume !(0 == ~cond); {3867#true} is VALID [2022-04-15 10:36:08,358 INFO L290 TraceCheckUtils]: 25: Hoare triple {3867#true} ~cond := #in~cond; {3867#true} is VALID [2022-04-15 10:36:08,358 INFO L272 TraceCheckUtils]: 24: Hoare triple {3867#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3867#true} is VALID [2022-04-15 10:36:08,358 INFO L290 TraceCheckUtils]: 23: Hoare triple {3867#true} assume !false; {3867#true} is VALID [2022-04-15 10:36:08,358 INFO L290 TraceCheckUtils]: 22: Hoare triple {3867#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3867#true} is VALID [2022-04-15 10:36:08,358 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3867#true} {3867#true} #65#return; {3867#true} is VALID [2022-04-15 10:36:08,358 INFO L290 TraceCheckUtils]: 20: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-15 10:36:08,359 INFO L290 TraceCheckUtils]: 19: Hoare triple {3867#true} assume !(0 == ~cond); {3867#true} is VALID [2022-04-15 10:36:08,359 INFO L290 TraceCheckUtils]: 18: Hoare triple {3867#true} ~cond := #in~cond; {3867#true} is VALID [2022-04-15 10:36:08,359 INFO L272 TraceCheckUtils]: 17: Hoare triple {3867#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3867#true} is VALID [2022-04-15 10:36:08,359 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3867#true} {3867#true} #63#return; {3867#true} is VALID [2022-04-15 10:36:08,359 INFO L290 TraceCheckUtils]: 15: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-15 10:36:08,359 INFO L290 TraceCheckUtils]: 14: Hoare triple {3867#true} assume !(0 == ~cond); {3867#true} is VALID [2022-04-15 10:36:08,359 INFO L290 TraceCheckUtils]: 13: Hoare triple {3867#true} ~cond := #in~cond; {3867#true} is VALID [2022-04-15 10:36:08,359 INFO L272 TraceCheckUtils]: 12: Hoare triple {3867#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {3867#true} is VALID [2022-04-15 10:36:08,359 INFO L290 TraceCheckUtils]: 11: Hoare triple {3867#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3867#true} is VALID [2022-04-15 10:36:08,359 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3867#true} {3867#true} #61#return; {3867#true} is VALID [2022-04-15 10:36:08,359 INFO L290 TraceCheckUtils]: 9: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-15 10:36:08,359 INFO L290 TraceCheckUtils]: 8: Hoare triple {3867#true} assume !(0 == ~cond); {3867#true} is VALID [2022-04-15 10:36:08,359 INFO L290 TraceCheckUtils]: 7: Hoare triple {3867#true} ~cond := #in~cond; {3867#true} is VALID [2022-04-15 10:36:08,360 INFO L272 TraceCheckUtils]: 6: Hoare triple {3867#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {3867#true} is VALID [2022-04-15 10:36:08,360 INFO L290 TraceCheckUtils]: 5: Hoare triple {3867#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; {3867#true} is VALID [2022-04-15 10:36:08,360 INFO L272 TraceCheckUtils]: 4: Hoare triple {3867#true} call #t~ret6 := main(); {3867#true} is VALID [2022-04-15 10:36:08,360 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3867#true} {3867#true} #71#return; {3867#true} is VALID [2022-04-15 10:36:08,360 INFO L290 TraceCheckUtils]: 2: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-15 10:36:08,360 INFO L290 TraceCheckUtils]: 1: Hoare triple {3867#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); {3867#true} is VALID [2022-04-15 10:36:08,360 INFO L272 TraceCheckUtils]: 0: Hoare triple {3867#true} call ULTIMATE.init(); {3867#true} is VALID [2022-04-15 10:36:08,360 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-15 10:36:08,360 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:36:08,360 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1888818755] [2022-04-15 10:36:08,360 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:36:08,360 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [998437352] [2022-04-15 10:36:08,361 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [998437352] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:36:08,361 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:36:08,361 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 9] total 20 [2022-04-15 10:36:08,363 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:36:08,363 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [359046636] [2022-04-15 10:36:08,363 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [359046636] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:36:08,363 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:36:08,363 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 10:36:08,363 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1351518834] [2022-04-15 10:36:08,363 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:36:08,363 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 46 [2022-04-15 10:36:08,364 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:36:08,364 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 10:36:08,400 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-15 10:36:08,400 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 10:36:08,400 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:36:08,401 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 10:36:08,401 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=308, Unknown=1, NotChecked=0, Total=380 [2022-04-15 10:36:08,401 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 10:36:09,427 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:36:09,427 INFO L93 Difference]: Finished difference Result 72 states and 79 transitions. [2022-04-15 10:36:09,427 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 10:36:09,427 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 46 [2022-04-15 10:36:09,427 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:36:09,427 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 10:36:09,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 56 transitions. [2022-04-15 10:36:09,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 10:36:09,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 56 transitions. [2022-04-15 10:36:09,430 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 56 transitions. [2022-04-15 10:36:09,488 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:36:09,489 INFO L225 Difference]: With dead ends: 72 [2022-04-15 10:36:09,489 INFO L226 Difference]: Without dead ends: 70 [2022-04-15 10:36:09,490 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 69 SyntacticMatches, 4 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 111 ImplicationChecksByTransitivity, 3.1s TimeCoverageRelationStatistics Valid=88, Invalid=417, Unknown=1, NotChecked=0, Total=506 [2022-04-15 10:36:09,490 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 34 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 316 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 329 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 316 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 10:36:09,490 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 146 Invalid, 329 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 316 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 10:36:09,491 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-15 10:36:09,592 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 59. [2022-04-15 10:36:09,592 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:36:09,592 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 42 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:36:09,592 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 42 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:36:09,593 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 42 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:36:09,594 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:36:09,596 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-15 10:36:09,596 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-15 10:36:09,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:36:09,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:36:09,596 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 42 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 70 states. [2022-04-15 10:36:09,596 INFO L87 Difference]: Start difference. First operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 42 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 70 states. [2022-04-15 10:36:09,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:36:09,598 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-15 10:36:09,598 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-15 10:36:09,598 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:36:09,598 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:36:09,598 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:36:09,598 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:36:09,598 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 42 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 10:36:09,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 65 transitions. [2022-04-15 10:36:09,599 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 65 transitions. Word has length 46 [2022-04-15 10:36:09,600 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:36:09,600 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 65 transitions. [2022-04-15 10:36:09,600 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 10:36:09,600 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 65 transitions. [2022-04-15 10:36:14,169 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 64 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 10:36:14,170 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 65 transitions. [2022-04-15 10:36:14,170 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 10:36:14,170 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:36:14,170 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:36:14,186 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-15 10:36:14,375 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-15 10:36:14,376 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:36:14,376 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:36:14,376 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 3 times [2022-04-15 10:36:14,376 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:36:14,376 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1201762908] [2022-04-15 10:36:14,376 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:36:14,376 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 4 times [2022-04-15 10:36:14,376 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:36:14,377 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1193799854] [2022-04-15 10:36:14,377 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:36:14,377 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:36:14,390 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:36:14,390 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [673318178] [2022-04-15 10:36:14,390 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 10:36:14,390 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:36:14,390 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:36:14,391 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 10:36:14,394 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-15 10:36:14,434 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 10:36:14,435 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:36:14,436 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-15 10:36:14,446 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:36:14,447 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:36:16,062 INFO L272 TraceCheckUtils]: 0: Hoare triple {4570#true} call ULTIMATE.init(); {4570#true} is VALID [2022-04-15 10:36:16,062 INFO L290 TraceCheckUtils]: 1: Hoare triple {4570#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); {4570#true} is VALID [2022-04-15 10:36:16,062 INFO L290 TraceCheckUtils]: 2: Hoare triple {4570#true} assume true; {4570#true} is VALID [2022-04-15 10:36:16,062 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4570#true} {4570#true} #71#return; {4570#true} is VALID [2022-04-15 10:36:16,062 INFO L272 TraceCheckUtils]: 4: Hoare triple {4570#true} call #t~ret6 := main(); {4570#true} is VALID [2022-04-15 10:36:16,062 INFO L290 TraceCheckUtils]: 5: Hoare triple {4570#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; {4570#true} is VALID [2022-04-15 10:36:16,062 INFO L272 TraceCheckUtils]: 6: Hoare triple {4570#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {4570#true} is VALID [2022-04-15 10:36:16,063 INFO L290 TraceCheckUtils]: 7: Hoare triple {4570#true} ~cond := #in~cond; {4570#true} is VALID [2022-04-15 10:36:16,063 INFO L290 TraceCheckUtils]: 8: Hoare triple {4570#true} assume !(0 == ~cond); {4570#true} is VALID [2022-04-15 10:36:16,063 INFO L290 TraceCheckUtils]: 9: Hoare triple {4570#true} assume true; {4570#true} is VALID [2022-04-15 10:36:16,063 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4570#true} {4570#true} #61#return; {4570#true} is VALID [2022-04-15 10:36:16,063 INFO L290 TraceCheckUtils]: 11: Hoare triple {4570#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4570#true} is VALID [2022-04-15 10:36:16,063 INFO L272 TraceCheckUtils]: 12: Hoare triple {4570#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {4570#true} is VALID [2022-04-15 10:36:16,063 INFO L290 TraceCheckUtils]: 13: Hoare triple {4570#true} ~cond := #in~cond; {4614#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:36:16,063 INFO L290 TraceCheckUtils]: 14: Hoare triple {4614#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4618#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:36:16,064 INFO L290 TraceCheckUtils]: 15: Hoare triple {4618#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4618#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:36:16,064 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4618#(not (= |assume_abort_if_not_#in~cond| 0))} {4570#true} #63#return; {4625#(and (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-15 10:36:16,064 INFO L272 TraceCheckUtils]: 17: Hoare triple {4625#(and (<= 0 main_~b~0) (<= main_~b~0 10))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4570#true} is VALID [2022-04-15 10:36:16,064 INFO L290 TraceCheckUtils]: 18: Hoare triple {4570#true} ~cond := #in~cond; {4570#true} is VALID [2022-04-15 10:36:16,064 INFO L290 TraceCheckUtils]: 19: Hoare triple {4570#true} assume !(0 == ~cond); {4570#true} is VALID [2022-04-15 10:36:16,064 INFO L290 TraceCheckUtils]: 20: Hoare triple {4570#true} assume true; {4570#true} is VALID [2022-04-15 10:36:16,072 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4570#true} {4625#(and (<= 0 main_~b~0) (<= main_~b~0 10))} #65#return; {4625#(and (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-15 10:36:16,073 INFO L290 TraceCheckUtils]: 22: Hoare triple {4625#(and (<= 0 main_~b~0) (<= main_~b~0 10))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4644#(and (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:36:16,073 INFO L290 TraceCheckUtils]: 23: Hoare triple {4644#(and (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} assume !false; {4644#(and (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:36:16,073 INFO L272 TraceCheckUtils]: 24: Hoare triple {4644#(and (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4570#true} is VALID [2022-04-15 10:36:16,073 INFO L290 TraceCheckUtils]: 25: Hoare triple {4570#true} ~cond := #in~cond; {4654#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:36:16,073 INFO L290 TraceCheckUtils]: 26: Hoare triple {4654#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:36:16,074 INFO L290 TraceCheckUtils]: 27: Hoare triple {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:36:16,074 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} {4644#(and (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} #67#return; {4665#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:36:16,075 INFO L290 TraceCheckUtils]: 29: Hoare triple {4665#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {4669#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:36:16,076 INFO L290 TraceCheckUtils]: 30: Hoare triple {4669#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= 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)); {4673#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:36:16,076 INFO L290 TraceCheckUtils]: 31: Hoare triple {4673#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= 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); {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-15 10:36:16,076 INFO L290 TraceCheckUtils]: 32: Hoare triple {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !false; {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-15 10:36:16,077 INFO L272 TraceCheckUtils]: 33: Hoare triple {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~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)); {4570#true} is VALID [2022-04-15 10:36:16,077 INFO L290 TraceCheckUtils]: 34: Hoare triple {4570#true} ~cond := #in~cond; {4654#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:36:16,077 INFO L290 TraceCheckUtils]: 35: Hoare triple {4654#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:36:16,077 INFO L290 TraceCheckUtils]: 36: Hoare triple {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:36:16,078 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} #67#return; {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-15 10:36:16,078 INFO L290 TraceCheckUtils]: 38: Hoare triple {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !!(0 != ~y~0); {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-15 10:36:16,079 INFO L290 TraceCheckUtils]: 39: Hoare triple {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4702#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-15 10:36:16,080 INFO L290 TraceCheckUtils]: 40: Hoare triple {4702#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4706#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-15 10:36:16,080 INFO L290 TraceCheckUtils]: 41: Hoare triple {4706#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10))} assume !false; {4706#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-15 10:36:16,082 INFO L272 TraceCheckUtils]: 42: Hoare triple {4706#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4713#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:36:16,082 INFO L290 TraceCheckUtils]: 43: Hoare triple {4713#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4717#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:36:16,083 INFO L290 TraceCheckUtils]: 44: Hoare triple {4717#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4571#false} is VALID [2022-04-15 10:36:16,083 INFO L290 TraceCheckUtils]: 45: Hoare triple {4571#false} assume !false; {4571#false} is VALID [2022-04-15 10:36:16,083 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 5 proven. 14 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-15 10:36:16,083 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:39:04,457 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:39:04,457 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1193799854] [2022-04-15 10:39:04,457 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:39:04,457 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [673318178] [2022-04-15 10:39:04,457 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [673318178] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 10:39:04,457 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 10:39:04,457 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-15 10:39:04,458 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:39:04,458 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1201762908] [2022-04-15 10:39:04,458 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1201762908] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:39:04,458 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:39:04,458 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 10:39:04,458 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1350434213] [2022-04-15 10:39:04,458 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:39:04,458 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 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-15 10:39:04,458 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:39:04,459 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 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-15 10:39:04,490 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-15 10:39:04,491 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 10:39:04,491 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:39:04,491 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 10:39:04,491 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=99, Invalid=407, Unknown=0, NotChecked=0, Total=506 [2022-04-15 10:39:04,491 INFO L87 Difference]: Start difference. First operand 59 states and 65 transitions. Second operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 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-15 10:39:05,621 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:39:05,621 INFO L93 Difference]: Finished difference Result 71 states and 78 transitions. [2022-04-15 10:39:05,621 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 10:39:05,621 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 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-15 10:39:05,621 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:39:05,622 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 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-15 10:39:05,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 55 transitions. [2022-04-15 10:39:05,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 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-15 10:39:05,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 55 transitions. [2022-04-15 10:39:05,624 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 55 transitions. [2022-04-15 10:39:05,671 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 10:39:05,672 INFO L225 Difference]: With dead ends: 71 [2022-04-15 10:39:05,672 INFO L226 Difference]: Without dead ends: 69 [2022-04-15 10:39:05,673 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 38 SyntacticMatches, 4 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 179 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=116, Invalid=534, Unknown=0, NotChecked=0, Total=650 [2022-04-15 10:39:05,673 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 30 mSDsluCounter, 123 mSDsCounter, 0 mSdLazyCounter, 285 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 294 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 285 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 10:39:05,673 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 144 Invalid, 294 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 285 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 10:39:05,673 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-15 10:39:05,745 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 50. [2022-04-15 10:39:05,746 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:39:05,746 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:39:05,746 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:39:05,746 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:39:05,748 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:39:05,748 INFO L93 Difference]: Finished difference Result 69 states and 76 transitions. [2022-04-15 10:39:05,748 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 76 transitions. [2022-04-15 10:39:05,749 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:39:05,749 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:39:05,750 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 69 states. [2022-04-15 10:39:05,750 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 69 states. [2022-04-15 10:39:05,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:39:05,752 INFO L93 Difference]: Finished difference Result 69 states and 76 transitions. [2022-04-15 10:39:05,752 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 76 transitions. [2022-04-15 10:39:05,752 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:39:05,752 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:39:05,752 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:39:05,752 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:39:05,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:39:05,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-15 10:39:05,754 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 46 [2022-04-15 10:39:05,754 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:39:05,754 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-15 10:39:05,754 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 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-15 10:39:05,754 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-15 10:39:11,392 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 54 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 10:39:11,392 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-15 10:39:11,392 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 10:39:11,392 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:39:11,392 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:39:11,408 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-15 10:39:11,593 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-15 10:39:11,593 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:39:11,593 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:39:11,593 INFO L85 PathProgramCache]: Analyzing trace with hash 1060406066, now seen corresponding path program 5 times [2022-04-15 10:39:11,593 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:39:11,593 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1116896789] [2022-04-15 10:39:11,594 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:39:11,594 INFO L85 PathProgramCache]: Analyzing trace with hash 1060406066, now seen corresponding path program 6 times [2022-04-15 10:39:11,594 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:39:11,594 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1223752488] [2022-04-15 10:39:11,594 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:39:11,594 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:39:11,604 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:39:11,605 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1382573690] [2022-04-15 10:39:11,605 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 10:39:11,605 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:39:11,605 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:39:11,610 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 10:39:11,611 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-15 10:39:11,647 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 10:39:11,647 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:39:11,648 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-15 10:39:11,659 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:39:11,660 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:39:26,275 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 10:39:30,954 INFO L272 TraceCheckUtils]: 0: Hoare triple {5170#true} call ULTIMATE.init(); {5170#true} is VALID [2022-04-15 10:39:30,954 INFO L290 TraceCheckUtils]: 1: Hoare triple {5170#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); {5170#true} is VALID [2022-04-15 10:39:30,954 INFO L290 TraceCheckUtils]: 2: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-15 10:39:30,955 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5170#true} {5170#true} #71#return; {5170#true} is VALID [2022-04-15 10:39:30,955 INFO L272 TraceCheckUtils]: 4: Hoare triple {5170#true} call #t~ret6 := main(); {5170#true} is VALID [2022-04-15 10:39:30,955 INFO L290 TraceCheckUtils]: 5: Hoare triple {5170#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; {5170#true} is VALID [2022-04-15 10:39:30,955 INFO L272 TraceCheckUtils]: 6: Hoare triple {5170#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {5170#true} is VALID [2022-04-15 10:39:30,955 INFO L290 TraceCheckUtils]: 7: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-15 10:39:30,955 INFO L290 TraceCheckUtils]: 8: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-15 10:39:30,955 INFO L290 TraceCheckUtils]: 9: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-15 10:39:30,955 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5170#true} {5170#true} #61#return; {5170#true} is VALID [2022-04-15 10:39:30,955 INFO L290 TraceCheckUtils]: 11: Hoare triple {5170#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5170#true} is VALID [2022-04-15 10:39:30,955 INFO L272 TraceCheckUtils]: 12: Hoare triple {5170#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {5170#true} is VALID [2022-04-15 10:39:30,955 INFO L290 TraceCheckUtils]: 13: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-15 10:39:30,955 INFO L290 TraceCheckUtils]: 14: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-15 10:39:30,955 INFO L290 TraceCheckUtils]: 15: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-15 10:39:30,956 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5170#true} {5170#true} #63#return; {5170#true} is VALID [2022-04-15 10:39:30,956 INFO L272 TraceCheckUtils]: 17: Hoare triple {5170#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5170#true} is VALID [2022-04-15 10:39:30,956 INFO L290 TraceCheckUtils]: 18: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-15 10:39:30,956 INFO L290 TraceCheckUtils]: 19: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-15 10:39:30,956 INFO L290 TraceCheckUtils]: 20: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-15 10:39:30,956 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5170#true} {5170#true} #65#return; {5170#true} is VALID [2022-04-15 10:39:30,956 INFO L290 TraceCheckUtils]: 22: Hoare triple {5170#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5170#true} is VALID [2022-04-15 10:39:30,956 INFO L290 TraceCheckUtils]: 23: Hoare triple {5170#true} assume !false; {5170#true} is VALID [2022-04-15 10:39:30,956 INFO L272 TraceCheckUtils]: 24: Hoare triple {5170#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5170#true} is VALID [2022-04-15 10:39:30,956 INFO L290 TraceCheckUtils]: 25: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-15 10:39:30,956 INFO L290 TraceCheckUtils]: 26: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-15 10:39:30,956 INFO L290 TraceCheckUtils]: 27: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-15 10:39:30,956 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5170#true} {5170#true} #67#return; {5170#true} is VALID [2022-04-15 10:39:30,957 INFO L290 TraceCheckUtils]: 29: Hoare triple {5170#true} assume !!(0 != ~y~0); {5170#true} is VALID [2022-04-15 10:39:30,957 INFO L290 TraceCheckUtils]: 30: Hoare triple {5170#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; {5170#true} is VALID [2022-04-15 10:39:30,957 INFO L290 TraceCheckUtils]: 31: Hoare triple {5170#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); {5170#true} is VALID [2022-04-15 10:39:30,957 INFO L290 TraceCheckUtils]: 32: Hoare triple {5170#true} assume !false; {5170#true} is VALID [2022-04-15 10:39:30,957 INFO L272 TraceCheckUtils]: 33: Hoare triple {5170#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5170#true} is VALID [2022-04-15 10:39:30,957 INFO L290 TraceCheckUtils]: 34: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-15 10:39:30,957 INFO L290 TraceCheckUtils]: 35: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-15 10:39:30,957 INFO L290 TraceCheckUtils]: 36: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-15 10:39:30,957 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5170#true} {5170#true} #67#return; {5170#true} is VALID [2022-04-15 10:39:30,957 INFO L290 TraceCheckUtils]: 38: Hoare triple {5170#true} assume !!(0 != ~y~0); {5170#true} is VALID [2022-04-15 10:39:30,957 INFO L290 TraceCheckUtils]: 39: Hoare triple {5170#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; {5170#true} is VALID [2022-04-15 10:39:30,957 INFO L290 TraceCheckUtils]: 40: Hoare triple {5170#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); {5170#true} is VALID [2022-04-15 10:39:30,957 INFO L290 TraceCheckUtils]: 41: Hoare triple {5170#true} assume !false; {5170#true} is VALID [2022-04-15 10:39:30,957 INFO L272 TraceCheckUtils]: 42: Hoare triple {5170#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5170#true} is VALID [2022-04-15 10:39:30,958 INFO L290 TraceCheckUtils]: 43: Hoare triple {5170#true} ~cond := #in~cond; {5304#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:39:30,958 INFO L290 TraceCheckUtils]: 44: Hoare triple {5304#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:39:30,958 INFO L290 TraceCheckUtils]: 45: Hoare triple {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:39:30,959 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} {5170#true} #67#return; {5315#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:39:30,959 INFO L290 TraceCheckUtils]: 47: Hoare triple {5315#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(0 != ~y~0); {5319#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-15 10:39:30,962 INFO L290 TraceCheckUtils]: 48: Hoare triple {5319#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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; {5323#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-15 10:39:32,336 INFO L290 TraceCheckUtils]: 49: Hoare triple {5323#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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); {5327#(and (= (mod main_~x~0 2) 0) (exists ((aux_div_v_main_~y~0_59_28 Int) (aux_mod_v_main_~y~0_59_28 Int)) (and (= (+ (div (* (- 1) main_~x~0) (- 2)) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) aux_div_v_main_~y~0_59_28)) (* (div (* (- 1) main_~x~0) (- 2)) aux_mod_v_main_~y~0_59_28))) (< aux_mod_v_main_~y~0_59_28 2) (= main_~y~0 (div (+ (- 1) aux_mod_v_main_~y~0_59_28 (* aux_div_v_main_~y~0_59_28 2)) 2)) (<= 1 aux_mod_v_main_~y~0_59_28) (<= 0 (+ aux_mod_v_main_~y~0_59_28 (* aux_div_v_main_~y~0_59_28 2))))))} is VALID [2022-04-15 10:39:34,042 INFO L290 TraceCheckUtils]: 50: Hoare triple {5327#(and (= (mod main_~x~0 2) 0) (exists ((aux_div_v_main_~y~0_59_28 Int) (aux_mod_v_main_~y~0_59_28 Int)) (and (= (+ (div (* (- 1) main_~x~0) (- 2)) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) aux_div_v_main_~y~0_59_28)) (* (div (* (- 1) main_~x~0) (- 2)) aux_mod_v_main_~y~0_59_28))) (< aux_mod_v_main_~y~0_59_28 2) (= main_~y~0 (div (+ (- 1) aux_mod_v_main_~y~0_59_28 (* aux_div_v_main_~y~0_59_28 2)) 2)) (<= 1 aux_mod_v_main_~y~0_59_28) (<= 0 (+ aux_mod_v_main_~y~0_59_28 (* aux_div_v_main_~y~0_59_28 2))))))} assume !false; {5331#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 10:39:34,325 INFO L272 TraceCheckUtils]: 51: Hoare triple {5331#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5335#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:39:34,326 INFO L290 TraceCheckUtils]: 52: Hoare triple {5335#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5339#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:39:34,326 INFO L290 TraceCheckUtils]: 53: Hoare triple {5339#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5171#false} is VALID [2022-04-15 10:39:34,326 INFO L290 TraceCheckUtils]: 54: Hoare triple {5171#false} assume !false; {5171#false} is VALID [2022-04-15 10:39:34,326 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 23 proven. 1 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-15 10:39:34,326 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:40:31,923 INFO L290 TraceCheckUtils]: 54: Hoare triple {5171#false} assume !false; {5171#false} is VALID [2022-04-15 10:40:31,923 INFO L290 TraceCheckUtils]: 53: Hoare triple {5339#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5171#false} is VALID [2022-04-15 10:40:31,923 INFO L290 TraceCheckUtils]: 52: Hoare triple {5335#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5339#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:40:31,924 INFO L272 TraceCheckUtils]: 51: Hoare triple {5315#(= (+ 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)); {5335#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:40:31,924 INFO L290 TraceCheckUtils]: 50: Hoare triple {5315#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {5315#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:40:31,930 INFO L290 TraceCheckUtils]: 49: Hoare triple {5361#(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); {5315#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:40:31,932 INFO L290 TraceCheckUtils]: 48: Hoare triple {5365#(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; {5361#(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-15 10:40:31,933 INFO L290 TraceCheckUtils]: 47: Hoare triple {5365#(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); {5365#(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-15 10:40:32,734 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} {5170#true} #67#return; {5365#(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-15 10:40:32,735 INFO L290 TraceCheckUtils]: 45: Hoare triple {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:40:32,735 INFO L290 TraceCheckUtils]: 44: Hoare triple {5381#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:40:32,736 INFO L290 TraceCheckUtils]: 43: Hoare triple {5170#true} ~cond := #in~cond; {5381#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:40:32,736 INFO L272 TraceCheckUtils]: 42: Hoare triple {5170#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5170#true} is VALID [2022-04-15 10:40:32,736 INFO L290 TraceCheckUtils]: 41: Hoare triple {5170#true} assume !false; {5170#true} is VALID [2022-04-15 10:40:32,736 INFO L290 TraceCheckUtils]: 40: Hoare triple {5170#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); {5170#true} is VALID [2022-04-15 10:40:32,736 INFO L290 TraceCheckUtils]: 39: Hoare triple {5170#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; {5170#true} is VALID [2022-04-15 10:40:32,736 INFO L290 TraceCheckUtils]: 38: Hoare triple {5170#true} assume !!(0 != ~y~0); {5170#true} is VALID [2022-04-15 10:40:32,736 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5170#true} {5170#true} #67#return; {5170#true} is VALID [2022-04-15 10:40:32,736 INFO L290 TraceCheckUtils]: 36: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-15 10:40:32,736 INFO L290 TraceCheckUtils]: 35: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-15 10:40:32,736 INFO L290 TraceCheckUtils]: 34: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-15 10:40:32,736 INFO L272 TraceCheckUtils]: 33: Hoare triple {5170#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5170#true} is VALID [2022-04-15 10:40:32,736 INFO L290 TraceCheckUtils]: 32: Hoare triple {5170#true} assume !false; {5170#true} is VALID [2022-04-15 10:40:32,736 INFO L290 TraceCheckUtils]: 31: Hoare triple {5170#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); {5170#true} is VALID [2022-04-15 10:40:32,737 INFO L290 TraceCheckUtils]: 30: Hoare triple {5170#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; {5170#true} is VALID [2022-04-15 10:40:32,737 INFO L290 TraceCheckUtils]: 29: Hoare triple {5170#true} assume !!(0 != ~y~0); {5170#true} is VALID [2022-04-15 10:40:32,737 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5170#true} {5170#true} #67#return; {5170#true} is VALID [2022-04-15 10:40:32,737 INFO L290 TraceCheckUtils]: 27: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-15 10:40:32,737 INFO L290 TraceCheckUtils]: 26: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-15 10:40:32,737 INFO L290 TraceCheckUtils]: 25: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-15 10:40:32,737 INFO L272 TraceCheckUtils]: 24: Hoare triple {5170#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5170#true} is VALID [2022-04-15 10:40:32,737 INFO L290 TraceCheckUtils]: 23: Hoare triple {5170#true} assume !false; {5170#true} is VALID [2022-04-15 10:40:32,737 INFO L290 TraceCheckUtils]: 22: Hoare triple {5170#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5170#true} is VALID [2022-04-15 10:40:32,737 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5170#true} {5170#true} #65#return; {5170#true} is VALID [2022-04-15 10:40:32,737 INFO L290 TraceCheckUtils]: 20: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-15 10:40:32,737 INFO L290 TraceCheckUtils]: 19: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-15 10:40:32,737 INFO L290 TraceCheckUtils]: 18: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-15 10:40:32,737 INFO L272 TraceCheckUtils]: 17: Hoare triple {5170#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5170#true} is VALID [2022-04-15 10:40:32,738 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5170#true} {5170#true} #63#return; {5170#true} is VALID [2022-04-15 10:40:32,738 INFO L290 TraceCheckUtils]: 15: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-15 10:40:32,738 INFO L290 TraceCheckUtils]: 14: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-15 10:40:32,738 INFO L290 TraceCheckUtils]: 13: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-15 10:40:32,738 INFO L272 TraceCheckUtils]: 12: Hoare triple {5170#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {5170#true} is VALID [2022-04-15 10:40:32,738 INFO L290 TraceCheckUtils]: 11: Hoare triple {5170#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5170#true} is VALID [2022-04-15 10:40:32,738 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5170#true} {5170#true} #61#return; {5170#true} is VALID [2022-04-15 10:40:32,738 INFO L290 TraceCheckUtils]: 9: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-15 10:40:32,738 INFO L290 TraceCheckUtils]: 8: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-15 10:40:32,738 INFO L290 TraceCheckUtils]: 7: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-15 10:40:32,738 INFO L272 TraceCheckUtils]: 6: Hoare triple {5170#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {5170#true} is VALID [2022-04-15 10:40:32,738 INFO L290 TraceCheckUtils]: 5: Hoare triple {5170#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; {5170#true} is VALID [2022-04-15 10:40:32,738 INFO L272 TraceCheckUtils]: 4: Hoare triple {5170#true} call #t~ret6 := main(); {5170#true} is VALID [2022-04-15 10:40:32,739 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5170#true} {5170#true} #71#return; {5170#true} is VALID [2022-04-15 10:40:32,739 INFO L290 TraceCheckUtils]: 2: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-15 10:40:32,739 INFO L290 TraceCheckUtils]: 1: Hoare triple {5170#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); {5170#true} is VALID [2022-04-15 10:40:32,739 INFO L272 TraceCheckUtils]: 0: Hoare triple {5170#true} call ULTIMATE.init(); {5170#true} is VALID [2022-04-15 10:40:32,739 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 23 proven. 1 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-15 10:40:32,739 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:40:32,740 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1223752488] [2022-04-15 10:40:32,740 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:40:32,740 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1382573690] [2022-04-15 10:40:32,740 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1382573690] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:40:32,740 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:40:32,740 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 14 [2022-04-15 10:40:32,740 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:40:32,741 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1116896789] [2022-04-15 10:40:32,741 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1116896789] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:40:32,741 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:40:32,741 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 10:40:32,741 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1257974413] [2022-04-15 10:40:32,741 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:40:32,741 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 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 55 [2022-04-15 10:40:32,741 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:40:32,742 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 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-15 10:40:34,343 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-15 10:40:34,343 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 10:40:34,343 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:40:34,344 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 10:40:34,344 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=141, Unknown=3, NotChecked=0, Total=182 [2022-04-15 10:40:34,344 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 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-15 10:40:45,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:40:45,099 INFO L93 Difference]: Finished difference Result 77 states and 84 transitions. [2022-04-15 10:40:45,099 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 10:40:45,099 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 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 55 [2022-04-15 10:40:45,099 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:40:45,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 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-15 10:40:45,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 44 transitions. [2022-04-15 10:40:45,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 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-15 10:40:45,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 44 transitions. [2022-04-15 10:40:45,100 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 44 transitions. [2022-04-15 10:40:49,247 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 43 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 10:40:49,248 INFO L225 Difference]: With dead ends: 77 [2022-04-15 10:40:49,248 INFO L226 Difference]: Without dead ends: 75 [2022-04-15 10:40:49,248 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 95 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 21.3s TimeCoverageRelationStatistics Valid=58, Invalid=211, Unknown=3, NotChecked=0, Total=272 [2022-04-15 10:40:49,248 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 17 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 114 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 142 SdHoareTripleChecker+Invalid, 121 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 114 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 2 IncrementalHoareTripleChecker+Unchecked, 3.5s IncrementalHoareTripleChecker+Time [2022-04-15 10:40:49,249 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 142 Invalid, 121 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 114 Invalid, 0 Unknown, 2 Unchecked, 3.5s Time] [2022-04-15 10:40:49,249 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-15 10:40:49,323 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 50. [2022-04-15 10:40:49,323 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:40:49,323 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:40:49,323 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:40:49,323 INFO L87 Difference]: Start difference. First operand 75 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:40:49,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:40:49,325 INFO L93 Difference]: Finished difference Result 75 states and 82 transitions. [2022-04-15 10:40:49,325 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 82 transitions. [2022-04-15 10:40:49,325 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:40:49,325 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:40:49,325 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 75 states. [2022-04-15 10:40:49,325 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 75 states. [2022-04-15 10:40:49,326 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:40:49,326 INFO L93 Difference]: Finished difference Result 75 states and 82 transitions. [2022-04-15 10:40:49,326 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 82 transitions. [2022-04-15 10:40:49,327 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:40:49,327 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:40:49,327 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:40:49,327 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:40:49,327 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:40:49,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-15 10:40:49,328 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 55 [2022-04-15 10:40:49,328 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:40:49,328 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-15 10:40:49,328 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 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-15 10:40:49,328 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-15 10:41:00,521 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 50 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-15 10:41:00,521 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-15 10:41:00,522 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 10:41:00,522 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:41:00,522 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:41:00,538 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-15 10:41:00,722 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-15 10:41:00,722 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:41:00,722 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:41:00,722 INFO L85 PathProgramCache]: Analyzing trace with hash -1459553868, now seen corresponding path program 5 times [2022-04-15 10:41:00,722 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:41:00,723 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1064497665] [2022-04-15 10:41:00,723 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:41:00,723 INFO L85 PathProgramCache]: Analyzing trace with hash -1459553868, now seen corresponding path program 6 times [2022-04-15 10:41:00,723 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:41:00,723 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [703658398] [2022-04-15 10:41:00,723 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:41:00,723 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:41:00,733 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:41:00,733 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1588830707] [2022-04-15 10:41:00,733 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 10:41:00,733 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:41:00,733 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:41:00,734 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 10:41:00,735 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-15 10:41:00,785 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 10:41:00,785 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:41:00,786 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-15 10:41:00,800 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:41:00,800 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:41:15,854 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 10:41:23,151 INFO L272 TraceCheckUtils]: 0: Hoare triple {5924#true} call ULTIMATE.init(); {5924#true} is VALID [2022-04-15 10:41:23,152 INFO L290 TraceCheckUtils]: 1: Hoare triple {5924#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); {5924#true} is VALID [2022-04-15 10:41:23,152 INFO L290 TraceCheckUtils]: 2: Hoare triple {5924#true} assume true; {5924#true} is VALID [2022-04-15 10:41:23,152 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5924#true} {5924#true} #71#return; {5924#true} is VALID [2022-04-15 10:41:23,152 INFO L272 TraceCheckUtils]: 4: Hoare triple {5924#true} call #t~ret6 := main(); {5924#true} is VALID [2022-04-15 10:41:23,153 INFO L290 TraceCheckUtils]: 5: Hoare triple {5924#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; {5924#true} is VALID [2022-04-15 10:41:23,153 INFO L272 TraceCheckUtils]: 6: Hoare triple {5924#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {5924#true} is VALID [2022-04-15 10:41:23,153 INFO L290 TraceCheckUtils]: 7: Hoare triple {5924#true} ~cond := #in~cond; {5924#true} is VALID [2022-04-15 10:41:23,153 INFO L290 TraceCheckUtils]: 8: Hoare triple {5924#true} assume !(0 == ~cond); {5924#true} is VALID [2022-04-15 10:41:23,153 INFO L290 TraceCheckUtils]: 9: Hoare triple {5924#true} assume true; {5924#true} is VALID [2022-04-15 10:41:23,153 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5924#true} {5924#true} #61#return; {5924#true} is VALID [2022-04-15 10:41:23,153 INFO L290 TraceCheckUtils]: 11: Hoare triple {5924#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5924#true} is VALID [2022-04-15 10:41:23,153 INFO L272 TraceCheckUtils]: 12: Hoare triple {5924#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {5924#true} is VALID [2022-04-15 10:41:23,153 INFO L290 TraceCheckUtils]: 13: Hoare triple {5924#true} ~cond := #in~cond; {5924#true} is VALID [2022-04-15 10:41:23,153 INFO L290 TraceCheckUtils]: 14: Hoare triple {5924#true} assume !(0 == ~cond); {5924#true} is VALID [2022-04-15 10:41:23,153 INFO L290 TraceCheckUtils]: 15: Hoare triple {5924#true} assume true; {5924#true} is VALID [2022-04-15 10:41:23,153 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5924#true} {5924#true} #63#return; {5924#true} is VALID [2022-04-15 10:41:23,153 INFO L272 TraceCheckUtils]: 17: Hoare triple {5924#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5924#true} is VALID [2022-04-15 10:41:23,154 INFO L290 TraceCheckUtils]: 18: Hoare triple {5924#true} ~cond := #in~cond; {5924#true} is VALID [2022-04-15 10:41:23,154 INFO L290 TraceCheckUtils]: 19: Hoare triple {5924#true} assume !(0 == ~cond); {5924#true} is VALID [2022-04-15 10:41:23,154 INFO L290 TraceCheckUtils]: 20: Hoare triple {5924#true} assume true; {5924#true} is VALID [2022-04-15 10:41:23,154 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5924#true} {5924#true} #65#return; {5924#true} is VALID [2022-04-15 10:41:23,154 INFO L290 TraceCheckUtils]: 22: Hoare triple {5924#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5924#true} is VALID [2022-04-15 10:41:23,154 INFO L290 TraceCheckUtils]: 23: Hoare triple {5924#true} assume !false; {5924#true} is VALID [2022-04-15 10:41:23,154 INFO L272 TraceCheckUtils]: 24: Hoare triple {5924#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5924#true} is VALID [2022-04-15 10:41:23,154 INFO L290 TraceCheckUtils]: 25: Hoare triple {5924#true} ~cond := #in~cond; {5924#true} is VALID [2022-04-15 10:41:23,154 INFO L290 TraceCheckUtils]: 26: Hoare triple {5924#true} assume !(0 == ~cond); {5924#true} is VALID [2022-04-15 10:41:23,154 INFO L290 TraceCheckUtils]: 27: Hoare triple {5924#true} assume true; {5924#true} is VALID [2022-04-15 10:41:23,154 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5924#true} {5924#true} #67#return; {5924#true} is VALID [2022-04-15 10:41:23,154 INFO L290 TraceCheckUtils]: 29: Hoare triple {5924#true} assume !!(0 != ~y~0); {5924#true} is VALID [2022-04-15 10:41:23,154 INFO L290 TraceCheckUtils]: 30: Hoare triple {5924#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; {5924#true} is VALID [2022-04-15 10:41:23,155 INFO L290 TraceCheckUtils]: 31: Hoare triple {5924#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); {5924#true} is VALID [2022-04-15 10:41:23,155 INFO L290 TraceCheckUtils]: 32: Hoare triple {5924#true} assume !false; {5924#true} is VALID [2022-04-15 10:41:23,155 INFO L272 TraceCheckUtils]: 33: Hoare triple {5924#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5924#true} is VALID [2022-04-15 10:41:23,155 INFO L290 TraceCheckUtils]: 34: Hoare triple {5924#true} ~cond := #in~cond; {5924#true} is VALID [2022-04-15 10:41:23,155 INFO L290 TraceCheckUtils]: 35: Hoare triple {5924#true} assume !(0 == ~cond); {5924#true} is VALID [2022-04-15 10:41:23,155 INFO L290 TraceCheckUtils]: 36: Hoare triple {5924#true} assume true; {5924#true} is VALID [2022-04-15 10:41:23,155 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5924#true} {5924#true} #67#return; {5924#true} is VALID [2022-04-15 10:41:23,155 INFO L290 TraceCheckUtils]: 38: Hoare triple {5924#true} assume !!(0 != ~y~0); {6043#(not (= main_~y~0 0))} is VALID [2022-04-15 10:41:23,156 INFO L290 TraceCheckUtils]: 39: Hoare triple {6043#(not (= 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; {6047#(< 0 (+ main_~y~0 1))} is VALID [2022-04-15 10:41:23,157 INFO L290 TraceCheckUtils]: 40: Hoare triple {6047#(< 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); {6047#(< 0 (+ main_~y~0 1))} is VALID [2022-04-15 10:41:23,157 INFO L290 TraceCheckUtils]: 41: Hoare triple {6047#(< 0 (+ main_~y~0 1))} assume !false; {6047#(< 0 (+ main_~y~0 1))} is VALID [2022-04-15 10:41:23,157 INFO L272 TraceCheckUtils]: 42: Hoare triple {6047#(< 0 (+ main_~y~0 1))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5924#true} is VALID [2022-04-15 10:41:23,157 INFO L290 TraceCheckUtils]: 43: Hoare triple {5924#true} ~cond := #in~cond; {6060#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:41:23,158 INFO L290 TraceCheckUtils]: 44: Hoare triple {6060#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6064#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:41:23,158 INFO L290 TraceCheckUtils]: 45: Hoare triple {6064#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6064#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:41:23,159 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6064#(not (= |__VERIFIER_assert_#in~cond| 0))} {6047#(< 0 (+ main_~y~0 1))} #67#return; {6071#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-15 10:41:23,159 INFO L290 TraceCheckUtils]: 47: Hoare triple {6071#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} assume !!(0 != ~y~0); {6071#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-15 10:41:23,160 INFO L290 TraceCheckUtils]: 48: Hoare triple {6071#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6078#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (< 0 (+ main_~y~0 1)))} is VALID [2022-04-15 10:41:23,542 INFO L290 TraceCheckUtils]: 49: Hoare triple {6078#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (< 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); {6082#(and (= (mod main_~x~0 2) 0) (exists ((aux_mod_v_main_~y~0_66_22 Int) (aux_div_v_main_~y~0_66_22 Int)) (and (< aux_mod_v_main_~y~0_66_22 2) (< 0 (+ aux_mod_v_main_~y~0_66_22 (* aux_div_v_main_~y~0_66_22 2) 1)) (<= 0 aux_mod_v_main_~y~0_66_22) (= main_~y~0 (div (+ aux_mod_v_main_~y~0_66_22 (* aux_div_v_main_~y~0_66_22 2)) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (+ aux_mod_v_main_~y~0_66_22 (* aux_div_v_main_~y~0_66_22 2)) (div (- main_~x~0) (- 2))))) (not (= aux_mod_v_main_~y~0_66_22 1)))))} is VALID [2022-04-15 10:41:24,097 INFO L290 TraceCheckUtils]: 50: Hoare triple {6082#(and (= (mod main_~x~0 2) 0) (exists ((aux_mod_v_main_~y~0_66_22 Int) (aux_div_v_main_~y~0_66_22 Int)) (and (< aux_mod_v_main_~y~0_66_22 2) (< 0 (+ aux_mod_v_main_~y~0_66_22 (* aux_div_v_main_~y~0_66_22 2) 1)) (<= 0 aux_mod_v_main_~y~0_66_22) (= main_~y~0 (div (+ aux_mod_v_main_~y~0_66_22 (* aux_div_v_main_~y~0_66_22 2)) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (+ aux_mod_v_main_~y~0_66_22 (* aux_div_v_main_~y~0_66_22 2)) (div (- main_~x~0) (- 2))))) (not (= aux_mod_v_main_~y~0_66_22 1)))))} assume !false; {6086#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 10:41:26,100 WARN L272 TraceCheckUtils]: 51: Hoare triple {6086#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6090#(<= 1 |__VERIFIER_assert_#in~cond|)} is UNKNOWN [2022-04-15 10:41:26,101 INFO L290 TraceCheckUtils]: 52: Hoare triple {6090#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6094#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:41:26,101 INFO L290 TraceCheckUtils]: 53: Hoare triple {6094#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5925#false} is VALID [2022-04-15 10:41:26,101 INFO L290 TraceCheckUtils]: 54: Hoare triple {5925#false} assume !false; {5925#false} is VALID [2022-04-15 10:41:26,101 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 28 proven. 2 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-04-15 10:41:26,101 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 10:41:58,723 INFO L290 TraceCheckUtils]: 54: Hoare triple {5925#false} assume !false; {5925#false} is VALID [2022-04-15 10:41:58,723 INFO L290 TraceCheckUtils]: 53: Hoare triple {6094#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5925#false} is VALID [2022-04-15 10:41:58,723 INFO L290 TraceCheckUtils]: 52: Hoare triple {6090#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6094#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:41:58,724 INFO L272 TraceCheckUtils]: 51: Hoare triple {6110#(= (+ 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)); {6090#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:41:58,725 INFO L290 TraceCheckUtils]: 50: Hoare triple {6110#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {6110#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:41:58,757 INFO L290 TraceCheckUtils]: 49: Hoare triple {6117#(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); {6110#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 10:41:58,758 INFO L290 TraceCheckUtils]: 48: Hoare triple {6121#(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)); {6117#(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-15 10:41:58,759 INFO L290 TraceCheckUtils]: 47: Hoare triple {6121#(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); {6121#(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-15 10:41:58,761 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6064#(not (= |__VERIFIER_assert_#in~cond| 0))} {6128#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} #67#return; {6121#(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-15 10:41:58,762 INFO L290 TraceCheckUtils]: 45: Hoare triple {6064#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6064#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:41:58,762 INFO L290 TraceCheckUtils]: 44: Hoare triple {6138#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6064#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:41:58,763 INFO L290 TraceCheckUtils]: 43: Hoare triple {5924#true} ~cond := #in~cond; {6138#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 10:41:58,763 INFO L272 TraceCheckUtils]: 42: Hoare triple {6128#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5924#true} is VALID [2022-04-15 10:41:58,763 INFO L290 TraceCheckUtils]: 41: Hoare triple {6128#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} assume !false; {6128#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-15 10:41:58,764 INFO L290 TraceCheckUtils]: 40: Hoare triple {6148#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 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); {6128#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-15 10:41:58,766 INFO L290 TraceCheckUtils]: 39: Hoare triple {5924#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; {6148#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-15 10:41:58,766 INFO L290 TraceCheckUtils]: 38: Hoare triple {5924#true} assume !!(0 != ~y~0); {5924#true} is VALID [2022-04-15 10:41:58,766 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5924#true} {5924#true} #67#return; {5924#true} is VALID [2022-04-15 10:41:58,766 INFO L290 TraceCheckUtils]: 36: Hoare triple {5924#true} assume true; {5924#true} is VALID [2022-04-15 10:41:58,766 INFO L290 TraceCheckUtils]: 35: Hoare triple {5924#true} assume !(0 == ~cond); {5924#true} is VALID [2022-04-15 10:41:58,766 INFO L290 TraceCheckUtils]: 34: Hoare triple {5924#true} ~cond := #in~cond; {5924#true} is VALID [2022-04-15 10:41:58,766 INFO L272 TraceCheckUtils]: 33: Hoare triple {5924#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5924#true} is VALID [2022-04-15 10:41:58,766 INFO L290 TraceCheckUtils]: 32: Hoare triple {5924#true} assume !false; {5924#true} is VALID [2022-04-15 10:41:58,766 INFO L290 TraceCheckUtils]: 31: Hoare triple {5924#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); {5924#true} is VALID [2022-04-15 10:41:58,766 INFO L290 TraceCheckUtils]: 30: Hoare triple {5924#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; {5924#true} is VALID [2022-04-15 10:41:58,766 INFO L290 TraceCheckUtils]: 29: Hoare triple {5924#true} assume !!(0 != ~y~0); {5924#true} is VALID [2022-04-15 10:41:58,767 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5924#true} {5924#true} #67#return; {5924#true} is VALID [2022-04-15 10:41:58,767 INFO L290 TraceCheckUtils]: 27: Hoare triple {5924#true} assume true; {5924#true} is VALID [2022-04-15 10:41:58,767 INFO L290 TraceCheckUtils]: 26: Hoare triple {5924#true} assume !(0 == ~cond); {5924#true} is VALID [2022-04-15 10:41:58,767 INFO L290 TraceCheckUtils]: 25: Hoare triple {5924#true} ~cond := #in~cond; {5924#true} is VALID [2022-04-15 10:41:58,767 INFO L272 TraceCheckUtils]: 24: Hoare triple {5924#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5924#true} is VALID [2022-04-15 10:41:58,767 INFO L290 TraceCheckUtils]: 23: Hoare triple {5924#true} assume !false; {5924#true} is VALID [2022-04-15 10:41:58,767 INFO L290 TraceCheckUtils]: 22: Hoare triple {5924#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5924#true} is VALID [2022-04-15 10:41:58,767 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5924#true} {5924#true} #65#return; {5924#true} is VALID [2022-04-15 10:41:58,767 INFO L290 TraceCheckUtils]: 20: Hoare triple {5924#true} assume true; {5924#true} is VALID [2022-04-15 10:41:58,767 INFO L290 TraceCheckUtils]: 19: Hoare triple {5924#true} assume !(0 == ~cond); {5924#true} is VALID [2022-04-15 10:41:58,767 INFO L290 TraceCheckUtils]: 18: Hoare triple {5924#true} ~cond := #in~cond; {5924#true} is VALID [2022-04-15 10:41:58,767 INFO L272 TraceCheckUtils]: 17: Hoare triple {5924#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5924#true} is VALID [2022-04-15 10:41:58,767 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5924#true} {5924#true} #63#return; {5924#true} is VALID [2022-04-15 10:41:58,767 INFO L290 TraceCheckUtils]: 15: Hoare triple {5924#true} assume true; {5924#true} is VALID [2022-04-15 10:41:58,768 INFO L290 TraceCheckUtils]: 14: Hoare triple {5924#true} assume !(0 == ~cond); {5924#true} is VALID [2022-04-15 10:41:58,768 INFO L290 TraceCheckUtils]: 13: Hoare triple {5924#true} ~cond := #in~cond; {5924#true} is VALID [2022-04-15 10:41:58,768 INFO L272 TraceCheckUtils]: 12: Hoare triple {5924#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {5924#true} is VALID [2022-04-15 10:41:58,768 INFO L290 TraceCheckUtils]: 11: Hoare triple {5924#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5924#true} is VALID [2022-04-15 10:41:58,768 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5924#true} {5924#true} #61#return; {5924#true} is VALID [2022-04-15 10:41:58,768 INFO L290 TraceCheckUtils]: 9: Hoare triple {5924#true} assume true; {5924#true} is VALID [2022-04-15 10:41:58,768 INFO L290 TraceCheckUtils]: 8: Hoare triple {5924#true} assume !(0 == ~cond); {5924#true} is VALID [2022-04-15 10:41:58,768 INFO L290 TraceCheckUtils]: 7: Hoare triple {5924#true} ~cond := #in~cond; {5924#true} is VALID [2022-04-15 10:41:58,768 INFO L272 TraceCheckUtils]: 6: Hoare triple {5924#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {5924#true} is VALID [2022-04-15 10:41:58,768 INFO L290 TraceCheckUtils]: 5: Hoare triple {5924#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; {5924#true} is VALID [2022-04-15 10:41:58,768 INFO L272 TraceCheckUtils]: 4: Hoare triple {5924#true} call #t~ret6 := main(); {5924#true} is VALID [2022-04-15 10:41:58,768 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5924#true} {5924#true} #71#return; {5924#true} is VALID [2022-04-15 10:41:58,768 INFO L290 TraceCheckUtils]: 2: Hoare triple {5924#true} assume true; {5924#true} is VALID [2022-04-15 10:41:58,768 INFO L290 TraceCheckUtils]: 1: Hoare triple {5924#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); {5924#true} is VALID [2022-04-15 10:41:58,769 INFO L272 TraceCheckUtils]: 0: Hoare triple {5924#true} call ULTIMATE.init(); {5924#true} is VALID [2022-04-15 10:41:58,769 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 25 proven. 4 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-15 10:41:58,769 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 10:41:58,769 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [703658398] [2022-04-15 10:41:58,769 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 10:41:58,769 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1588830707] [2022-04-15 10:41:58,769 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1588830707] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 10:41:58,769 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 10:41:58,769 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 18 [2022-04-15 10:41:58,770 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 10:41:58,770 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1064497665] [2022-04-15 10:41:58,770 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1064497665] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 10:41:58,770 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 10:41:58,770 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 10:41:58,770 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2064021017] [2022-04-15 10:41:58,770 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 10:41:58,770 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 55 [2022-04-15 10:41:58,770 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 10:41:58,771 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 10:42:00,483 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-15 10:42:00,483 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 10:42:00,483 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 10:42:00,483 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 10:42:00,484 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=239, Unknown=2, NotChecked=0, Total=306 [2022-04-15 10:42:00,484 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 10:42:12,236 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.09s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 10:42:21,300 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:42:21,300 INFO L93 Difference]: Finished difference Result 84 states and 95 transitions. [2022-04-15 10:42:21,300 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 10:42:21,300 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 55 [2022-04-15 10:42:21,300 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 10:42:21,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 10:42:21,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 55 transitions. [2022-04-15 10:42:21,301 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 10:42:21,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 55 transitions. [2022-04-15 10:42:21,302 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 55 transitions. [2022-04-15 10:42:27,574 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 54 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 10:42:27,575 INFO L225 Difference]: With dead ends: 84 [2022-04-15 10:42:27,575 INFO L226 Difference]: Without dead ends: 50 [2022-04-15 10:42:27,576 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 116 GetRequests, 92 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 97 ImplicationChecksByTransitivity, 13.9s TimeCoverageRelationStatistics Valid=140, Invalid=458, Unknown=2, NotChecked=0, Total=600 [2022-04-15 10:42:27,576 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 19 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 157 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 162 SdHoareTripleChecker+Invalid, 170 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 157 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 4 IncrementalHoareTripleChecker+Unchecked, 5.2s IncrementalHoareTripleChecker+Time [2022-04-15 10:42:27,576 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 162 Invalid, 170 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 157 Invalid, 0 Unknown, 4 Unchecked, 5.2s Time] [2022-04-15 10:42:27,577 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-15 10:42:27,652 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2022-04-15 10:42:27,652 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 10:42:27,652 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:42:27,652 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:42:27,652 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:42:27,653 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:42:27,653 INFO L93 Difference]: Finished difference Result 50 states and 52 transitions. [2022-04-15 10:42:27,653 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-04-15 10:42:27,653 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:42:27,653 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:42:27,654 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-15 10:42:27,654 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-15 10:42:27,654 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 10:42:27,654 INFO L93 Difference]: Finished difference Result 50 states and 52 transitions. [2022-04-15 10:42:27,654 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-04-15 10:42:27,655 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 10:42:27,655 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 10:42:27,655 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 10:42:27,655 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 10:42:27,655 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 10:42:27,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 52 transitions. [2022-04-15 10:42:27,656 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 52 transitions. Word has length 55 [2022-04-15 10:42:27,656 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 10:42:27,656 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 52 transitions. [2022-04-15 10:42:27,656 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 10:42:27,656 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 52 transitions. [2022-04-15 10:42:37,364 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 48 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-15 10:42:37,364 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-04-15 10:42:37,364 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 10:42:37,364 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 10:42:37,364 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 10:42:37,381 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-15 10:42:37,565 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-15 10:42:37,565 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 10:42:37,565 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 10:42:37,565 INFO L85 PathProgramCache]: Analyzing trace with hash 1954893684, now seen corresponding path program 5 times [2022-04-15 10:42:37,566 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 10:42:37,566 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [936011883] [2022-04-15 10:42:37,566 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 10:42:37,566 INFO L85 PathProgramCache]: Analyzing trace with hash 1954893684, now seen corresponding path program 6 times [2022-04-15 10:42:37,566 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 10:42:37,566 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [798647997] [2022-04-15 10:42:37,566 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 10:42:37,566 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 10:42:37,576 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 10:42:37,576 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [156184648] [2022-04-15 10:42:37,576 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 10:42:37,576 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 10:42:37,576 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 10:42:37,577 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 10:42:37,578 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-15 10:42:37,629 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 10:42:37,630 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 10:42:37,630 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-15 10:42:37,644 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 10:42:37,645 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 10:42:48,932 INFO L272 TraceCheckUtils]: 0: Hoare triple {6653#true} call ULTIMATE.init(); {6653#true} is VALID [2022-04-15 10:42:48,932 INFO L290 TraceCheckUtils]: 1: Hoare triple {6653#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); {6653#true} is VALID [2022-04-15 10:42:48,932 INFO L290 TraceCheckUtils]: 2: Hoare triple {6653#true} assume true; {6653#true} is VALID [2022-04-15 10:42:48,933 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6653#true} {6653#true} #71#return; {6653#true} is VALID [2022-04-15 10:42:48,933 INFO L272 TraceCheckUtils]: 4: Hoare triple {6653#true} call #t~ret6 := main(); {6653#true} is VALID [2022-04-15 10:42:48,933 INFO L290 TraceCheckUtils]: 5: Hoare triple {6653#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; {6653#true} is VALID [2022-04-15 10:42:48,933 INFO L272 TraceCheckUtils]: 6: Hoare triple {6653#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {6653#true} is VALID [2022-04-15 10:42:48,933 INFO L290 TraceCheckUtils]: 7: Hoare triple {6653#true} ~cond := #in~cond; {6653#true} is VALID [2022-04-15 10:42:48,933 INFO L290 TraceCheckUtils]: 8: Hoare triple {6653#true} assume !(0 == ~cond); {6653#true} is VALID [2022-04-15 10:42:48,933 INFO L290 TraceCheckUtils]: 9: Hoare triple {6653#true} assume true; {6653#true} is VALID [2022-04-15 10:42:48,933 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6653#true} {6653#true} #61#return; {6653#true} is VALID [2022-04-15 10:42:48,933 INFO L290 TraceCheckUtils]: 11: Hoare triple {6653#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {6653#true} is VALID [2022-04-15 10:42:48,933 INFO L272 TraceCheckUtils]: 12: Hoare triple {6653#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {6653#true} is VALID [2022-04-15 10:42:48,933 INFO L290 TraceCheckUtils]: 13: Hoare triple {6653#true} ~cond := #in~cond; {6653#true} is VALID [2022-04-15 10:42:48,933 INFO L290 TraceCheckUtils]: 14: Hoare triple {6653#true} assume !(0 == ~cond); {6653#true} is VALID [2022-04-15 10:42:48,933 INFO L290 TraceCheckUtils]: 15: Hoare triple {6653#true} assume true; {6653#true} is VALID [2022-04-15 10:42:48,933 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6653#true} {6653#true} #63#return; {6653#true} is VALID [2022-04-15 10:42:48,934 INFO L272 TraceCheckUtils]: 17: Hoare triple {6653#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {6653#true} is VALID [2022-04-15 10:42:48,934 INFO L290 TraceCheckUtils]: 18: Hoare triple {6653#true} ~cond := #in~cond; {6712#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 10:42:48,934 INFO L290 TraceCheckUtils]: 19: Hoare triple {6712#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6716#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:42:48,934 INFO L290 TraceCheckUtils]: 20: Hoare triple {6716#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6716#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 10:42:48,935 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6716#(not (= |assume_abort_if_not_#in~cond| 0))} {6653#true} #65#return; {6723#(<= 1 main_~b~0)} is VALID [2022-04-15 10:42:48,935 INFO L290 TraceCheckUtils]: 22: Hoare triple {6723#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {6727#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:42:48,936 INFO L290 TraceCheckUtils]: 23: Hoare triple {6727#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {6727#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:42:48,936 INFO L272 TraceCheckUtils]: 24: Hoare triple {6727#(and (= main_~z~0 0) (= 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)); {6653#true} is VALID [2022-04-15 10:42:48,936 INFO L290 TraceCheckUtils]: 25: Hoare triple {6653#true} ~cond := #in~cond; {6653#true} is VALID [2022-04-15 10:42:48,936 INFO L290 TraceCheckUtils]: 26: Hoare triple {6653#true} assume !(0 == ~cond); {6653#true} is VALID [2022-04-15 10:42:48,936 INFO L290 TraceCheckUtils]: 27: Hoare triple {6653#true} assume true; {6653#true} is VALID [2022-04-15 10:42:48,936 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6653#true} {6727#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {6727#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:42:48,937 INFO L290 TraceCheckUtils]: 29: Hoare triple {6727#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {6727#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 10:42:48,937 INFO L290 TraceCheckUtils]: 30: Hoare triple {6727#(and (= main_~z~0 0) (= 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)); {6752#(and (= main_~z~0 0) (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-15 10:42:48,938 INFO L290 TraceCheckUtils]: 31: Hoare triple {6752#(and (= main_~z~0 0) (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); {6756#(and (= main_~z~0 0) (= main_~y~0 (div 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-15 10:42:48,939 INFO L290 TraceCheckUtils]: 32: Hoare triple {6756#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {6756#(and (= main_~z~0 0) (= main_~y~0 (div 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-15 10:42:48,939 INFO L272 TraceCheckUtils]: 33: Hoare triple {6756#(and (= main_~z~0 0) (= main_~y~0 (div 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)); {6653#true} is VALID [2022-04-15 10:42:48,939 INFO L290 TraceCheckUtils]: 34: Hoare triple {6653#true} ~cond := #in~cond; {6653#true} is VALID [2022-04-15 10:42:48,939 INFO L290 TraceCheckUtils]: 35: Hoare triple {6653#true} assume !(0 == ~cond); {6653#true} is VALID [2022-04-15 10:42:48,939 INFO L290 TraceCheckUtils]: 36: Hoare triple {6653#true} assume true; {6653#true} is VALID [2022-04-15 10:42:48,940 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6653#true} {6756#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #67#return; {6756#(and (= main_~z~0 0) (= main_~y~0 (div 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-15 10:42:48,940 INFO L290 TraceCheckUtils]: 38: Hoare triple {6756#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {6756#(and (= main_~z~0 0) (= main_~y~0 (div 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-15 10:42:48,941 INFO L290 TraceCheckUtils]: 39: Hoare triple {6756#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6781#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 10:42:48,942 INFO L290 TraceCheckUtils]: 40: Hoare triple {6781#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~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); {6785#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 10:42:48,942 INFO L290 TraceCheckUtils]: 41: Hoare triple {6785#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {6785#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 10:42:48,943 INFO L272 TraceCheckUtils]: 42: Hoare triple {6785#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (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)); {6653#true} is VALID [2022-04-15 10:42:48,943 INFO L290 TraceCheckUtils]: 43: Hoare triple {6653#true} ~cond := #in~cond; {6795#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:42:48,943 INFO L290 TraceCheckUtils]: 44: Hoare triple {6795#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6799#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:42:48,943 INFO L290 TraceCheckUtils]: 45: Hoare triple {6799#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6799#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 10:42:48,944 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6799#(not (= |__VERIFIER_assert_#in~cond| 0))} {6785#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #67#return; {6785#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 10:42:48,944 INFO L290 TraceCheckUtils]: 47: Hoare triple {6785#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {6785#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 10:42:48,945 INFO L290 TraceCheckUtils]: 48: Hoare triple {6785#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6812#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod main_~y~0 2) 1)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 10:42:48,947 INFO L290 TraceCheckUtils]: 49: Hoare triple {6812#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod main_~y~0 2) 1)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~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); {6816#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-15 10:42:48,947 INFO L290 TraceCheckUtils]: 50: Hoare triple {6816#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} assume !false; {6816#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-15 10:42:48,949 INFO L272 TraceCheckUtils]: 51: Hoare triple {6816#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6823#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 10:42:48,950 INFO L290 TraceCheckUtils]: 52: Hoare triple {6823#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6827#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 10:42:48,950 INFO L290 TraceCheckUtils]: 53: Hoare triple {6827#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6654#false} is VALID [2022-04-15 10:42:48,950 INFO L290 TraceCheckUtils]: 54: Hoare triple {6654#false} assume !false; {6654#false} is VALID [2022-04-15 10:42:48,950 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 17 proven. 22 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 10:42:48,950 INFO L328 TraceCheckSpWp]: Computing backward predicates...